Winston
6.07.2009 - 21:53
Есть скрипт безопасности для доступа в админку, оцените его выскажите свое "ЗА" и "Против", порекомендуйте может что то изменить, добавить, или еще сильнее обезопасить.
Вот код:
PHP |
<?php include ('f...'); if (!isset($_SERVER['PHP_AUTH_USER']))
{ Header ("WWW-Authenticate: Basic realm=\"Admin Page\""); 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']); }
$query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'"; $lst = @mysql_query($query);
if (!$lst) { Header ("WWW-Authenticate: Basic realm=\"Admin Page\""); Header ("HTTP/1.0 401 Unauthorized"); exit(); }
if (mysql_num_rows($lst) == 0) { Header ("WWW-Authenticate: Basic realm=\"Admin Page\""); Header ("HTTP/1.0 401 Unauthorized"); exit(); }
$pass = @mysql_fetch_array($lst); if ($_SERVER['PHP_AUTH_PW']!= $pass['pass']) { Header ("WWW-Authenticate: Basic realm=\"Admin Page\""); Header ("HTTP/1.0 401 Unauthorized"); exit(); }
} |
Спустя 5 минут, 12 секунд (6.07.2009 - 20:58) glock18 написал(а):
PHPprogramer
где-то я здесь уже это видел. и твин тогда объяснил что
PHP |
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']); } |
дыра в безопасности
Спустя 4 минуты, 26 секунд (6.07.2009 - 21:02) Winston написал(а):
Цитата (glock18 @ 6.07.2009 - 20:58) |
где-то я здесь уже это видел. и твин тогда объяснил что |
Скрипт поповский т.к. сам такой еще не могу сварганить, потому приходится copy_paste.
Цитата (glock18 @ 6.07.2009 - 20:58) |
дыра в безопасности |
Если не сложно подскажи как дыру замазать плыз.
И если помнишь дай ссылку на тему где это объясняется.
Спустя 12 минут, 9 секунд (6.07.2009 - 21:14) glock18 написал(а):
Цитата (PHPprogramer @ 6.07.2009 - 18:02) |
И если помнишь дай ссылку на тему где это объясняется. |
поиск пользуй, не помню.
Цитата |
Если не сложно подскажи как дыру замазать плыз. |
условие убрать.
Спустя 6 минут, 27 секунд (6.07.2009 - 21:21) Winston написал(а):
Цитата (glock18 @ 6.07.2009 - 21:14) |
поиск пользуй, не помню. |
Это будет называться: ищу то, не знаю что. Хотя бы приблизительное название темы.
Цитата (glock18 @ 6.07.2009 - 21:14) |
условие убрать. |
Хотя бы немного просвети какая здесь уязвимость, что здесь не так.
Спустя 19 минут, 46 секунд (6.07.2009 - 21:41) lawbreaker написал(а):
я бы пароль админа зашыфровал в md5
слышал когдато?
зашыфруй пароль в MD5 а в код просто ето
PHP |
$query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'"; $lst = @mysql_query($query); |
замени на ето
PHP |
$query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'"; $lst = @mysql_query($query); $pa = mysql_fetch_array($lst); $pa['pass'] = md5($pa['pass']); |
я 3 месяца не кодил уже, может чёто забыл. профи исправте есличё
Спустя 34 минуты, 15 секунд (6.07.2009 - 22:15) twin написал(а):
PHP |
if (!get_magic_quotes_gpc()) { |
Вот этого не надо условия просто. Переусердствовал Попов.
Спустя 12 часов, 33 минуты, 22 секунды (7.07.2009 - 10:48) Winston написал(а):
twinlawbreakerВсем спасибо