[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    а енто тут причём ? еси даже не инклудится, то выдаст ошибку макс.
     
  2. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    во первых, мог у автора спросить .. а во вторых, ты в mail.php заглядывал ???
    энто чо такое ?
    PHP:
    if(mail_check($login,$password))
    {
        global 
    $error,$server_reply;
        
    $result="OK";
        echo 
    $result;
        
    mail_check_log($result);
    } else {
        
    $result="FAIL: $error";
        if(
    strlen($server_reply)>1) { $result.=", SERVER REPLY: '$server_reply'";}
        echo 
    $result;
        
    mail_check_log($result);
    }
    конечно буит сначала чекатся ..
     
  3. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    удалив это кусок, ты там оставил одни ф-ии без вызовоу оных ..
    что значит проблемма не решилась ??

    энто вызов ф-ии а не функция ..

    ты вообще код хоть немного читать умеешь то? я чтото не осознал :D

    .зы пиши лучше сам .. свой код всегда прятнее ;)
     
  4. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    m0Hze, а ты смотрел вообще в логи? Что там появляется при вызове твоего скрипта? Убери error_reporting(0) посмотри какие ошибки валятся... Просто если у тебя выключен репорт ошибок, то любая ошибка, которая прерывает действие скрипта его прервёт, но ты не будешь лицезреть никаких сообщений - только белый экран...
     
  5. oRb

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

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    Надо
    PHP:
    .....
    $login $_POST['login'];
    $password $_POST['password'];
    .....
     
    2 people like this.
  6. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    PHP:
     function keypass($pass $num )
       {
           
     
     
    $xc =   md5($pass) ."\n";
     
    $zs mt_srand(time()* $num microtime()   )   ;
     
    $de =  crypt($x $zs)."\n";
     return 
    $de;

       }

       echo  
    keypass("megapass" ,"1284756");


    второй аргумент образуеться при вводе капчи с рисунка.

    вопрос как потом мне проверить что пароли совпадают?
     
  7. oRb

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

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    http://ru2.php.net/manual/ru/mcrypt.examples.php
     
  8. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    http://ua2.php.net/manual/ru/function.base64-encode.php
     
  9. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Nightmare, http://ru.wikipedia.org/wiki/RC4
    http://ru2.php.net/manual/ru/ref.mcrypt.php
     
  10. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Дааа, RC4 только с открытым ключом и использовать
     
    1 person likes this.
  11. Namelles One

    Namelles One Elder - Старейшина

    Joined:
    8 Jul 2005
    Messages:
    43
    Likes Received:
    14
    Reputations:
    19
    ОМФГ, Исис, ты хоть знаешь, что такое открытый ключ? =\\\

    http://ru.wikipedia.org/wiki/RSA
    http://www.phpclasses.org/browse/package/4121.html
     
  12. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Я написал админку для сайта, как её можно запаролить?
    Если не трудно дайте примеры
     
  13. iddqd

    iddqd Banned

    Joined:
    19 Dec 2007
    Messages:
    637
    Likes Received:
    519
    Reputations:
    19
    http://www.softtime.ru/article/index.php?id_article=27
     
  14. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Если ты ее написал то в чем проблема то? Не написать простую логинку? :)

    PHP:
    <?php
    if($_GET['pass'] != '1234')
    {
        
    header('Location: index.php');
        exit(
    'Тебе тут нечего делать :-p');
    }

    //код админки
    ?>
    Как ты понял пароль передаётся гетом
     
    1 person likes this.
  15. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Так отлично а если у меня админку загружать отдельным скриптом...
    Допустим:
    PHP:
    <?php 
    if($_GET['pass'] != '1234'

        
    header('Location: index.php'); 
        exit(
    'Тебе тут нечего делать :-p'); 
    }else{
    require_once(
    "adminka.php");    
    }
    ?>
     
    То как поставить проверку скрипту adminka.php
    Чтоб нельзя было в него просто зайти...
     
  16. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    ну так сделай
    else {
    define('IN', true);
    require...
    }
    в самом файле if(!defined('IN')){exit;} - как стандарт
     
  17. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Этот способ мне не подойдёт...мне нужно чтоб именно станица adminka.php открывалась...
    Там ссылок много...когда по ним щёлкаешь всё сбрасывается...
    Может в Куки пасс записать просто?
     
  18. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    да тут логики со 2 класса хватит. как хочешь так и делай.
     
  19. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Ну можно, я предпочитаю сессии:

    secure.php:
    PHP:
    <?php
    @session_start();
    if(@
    $_SESSION['pass'] != '1234')
    {
        if(isset(
    $_POST['submit']))
        {
            
    $_SESSION['pass'] = $_POST['pass'];
            
    header('Location: '.$_SERVER['PHP_SELF']);
        }
        else
        {
           
    ?>
             <form method='post'><input name='pass'><input name='submit' type='submit'></form>
           <?php
        
    }
        die();
    }
    ?>
    А в файлы куда надо вставить защиту пишешь в самое начало файла:
    PHP:
    include('secure.php');
    Идея слудующая:
    проверяется наличие валидного пасса в сессии, если он верен то отображаетс админка, если нет, то вылазиет форма авторизации.

    P.S код не тестил, писал в браузере
     
    #7019 Chaak, 23 Dec 2008
    Last edited: 23 Dec 2008
    1 person likes this.
  20. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Код файла login.php

    PHP:
    <?php
        define
    ("LOGIN""demo");
        
    define("PASSWORD""demo");
        
    define("MODE"TRUE); // TRUE - сравнивать логин и пароль без учёта регистра, FALSE - с учётом
        
    if(isset($_POST['log']) && isset($_POST['passwd']) && is_logined(MODE)) {
            
    setcookie('login'$_POST['log'], time()+31536000);
            
    setcookie('passwd'$_POST['passwd'], time()+31536000);
        }
        function 
    is_logined($register) {
            if(
    $register == false) {
                if((
    $_COOKIE['login'] == LOGIN && $_COOKIE['passwd'] == PASSWORD) || ($_POST['log'] == LOGIN && $_POST['passwd'] == PASSWORD)) {
                    return 
    true;
                }
            } else if(
    $register == true) {
                if((
    strcasecmp($_COOKIE['login'],LOGIN)==0&&strcasecmp($_COOKIE['passwd'],PASSWORD)==0) || (strcasecmp($_POST['log'],LOGIN)==0&&strcasecmp($_POST['passwd'],PASSWORD)==0)) {
                    return 
    true;
                }
            }
            return 
    false;
        }
        
    $form=<<<FORM
    <html>
    <head>
    <title>Авторизация</title>
    <style>
    body
    {
        padding-left:350px;
        font-family:tahoma, verdana, arial;
        font-size:11px;
        text-align:center;
        color:#000000;
    }
    table
    {
        border:1px solid #D1D1E1;
        margin:50px;
        padding:10px;
    }
    tr
    {

        text-align:center;
    }
    input
    {
        text-align:center;
        pargin:2px 0;
        padding-right:10px;
        padding-left:20px;
        border:1px solid #D1D1E1;
        background:#ffffff;
        padding:2px;
    }
    </style>
    </head>
    <body>

    <table>
    <form  method="post">
    <tr>
    <td>
    <br/>
    &nbsp; &nbsp; &nbsp; Login:<input type="text" title="Введите Login" name="log" />
    <br/>
    <br />
    Password:<input type="password" title="Введите пароль" name="passwd" />
    <br/>
    <br />
    <center><input type="submit" name="sub"  value="&nbsp;&nbsp; &nbsp; &nbsp;  Login &nbsp; &nbsp;  &nbsp;&nbsp;" /></center>
    <br/>
    </td>
    </tr>
    </form>
    </table>

    </body>
    </html>
    FORM;

        if(
    is_logined(MODE)) {
            require_once(
    'info.php');// страница для которой надо открыть доступ
        
    } else
         {
            echo 
    $form;
            }
    ?>


    Для открытия доступа к другим страницам, вначале страницы пропиши

    PHP:
    <?php
    require_once('login.php');
     if(!
    is_logined(MODE)) {
            exit();
        }

    ?>
     
    1 person likes this.
Thread Status:
Not open for further replies.