Автор: nws 18:04:2008, 17:38
Можно ли как-то хацкнуть данный код ???
Если да, то подскажите методы защиты 
Код
<?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();
}
}
?>
Автор: 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
ЧЕ-та мне такой стиль никогда не нравился. Сам стараюсь писать так, чтобы ошибки не подавлять... Конечно иногда приходиццо.