Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ PHP программирование _ Безопастность!

Автор: nws 18:04:2008, 17:38

Можно ли как-то хацкнуть данный код ???
Если да, то подскажите методы защиты smile.gif

Код
<?php

    if (!isset($_SERVER['PHP_AUTH_USER']))

{
        Header ("WWW-Authenticate: Basic realm=\"Enter Login/Password\"");
        Header ("HTTP/1.0 401 Unauthorized");
        exit();
}

else {
        if (!get_magic_quotes_gpc()) {
                $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
        }
        
        @$p = $_SERVER['PHP_AUTH_USER'];
        $lst = mysql_query("SELECT password FROM users WHERE username='$p' and is_moder='1'") or die(mysql_error());

        if (!$lst)
        {
            Header ("WWW-Authenticate: Basic realm=\"Введите Логин и Пароль\"");
        Header ("HTTP/1.0 401 Unauthorized");
        exit();
        }

        if (mysql_num_rows($lst) == 0)
        {
           Header ("WWW-Authenticate: Basic realm=\"Введите Логин и Пароль\"");
           Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }

        $pass = @mysql_fetch_array($lst);
        if ($_SERVER['PHP_AUTH_PW']!= $pass['password'])
        {
            Header ("WWW-Authenticate: Basic realm=\"Введите Логин и Пароль\"");
           Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }


}

?>

Автор: nws 24:04:2008, 19:53

Только не говорите что это UNHACKABLE SCRIPT laugh.gif laugh.gif laugh.gif

Автор: GOsha 4:05:2008, 18:59

Я вот не могу понять, нафига ты ошибку в присвоении подавляешь?

Код
@$p = $_SERVER['PHP_AUTH_USER'];

Автор: nws 5:05:2008, 10:01

Когда первый раз заходишь и появляется форма с логином/ паролем.

Поле для пароля пустое и PHP пишет Warning: undefined variable ...

Автор: GOsha 5:05:2008, 19:24

ЧЕ-та мне такой стиль никогда не нравился. Сам стараюсь писать так, чтобы ошибки не подавлять... Конечно иногда приходиццо.

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)