есть такой код:PHP код:этот файл я включаю в другой файл к которому хочу ограничить доступ.
<?php
/** Настройки подключения к БД */
$sql_database="имя базы";
$sql_host="localhost";
$sql_login="admin_db";
$sql_passwd="пароль";
/* Выбираем бд */
$db = mysql_connect($sql_host,$sql_login,$sql_passwd);
mysql_select_db($sql_database,$db);
mysql_query("SET NAMES utf8");
mysql_error($db);
if (!isset($_SERVER['PHP_AUTH_USER'])) {
Header ("WWW-Authenticate: Basic realm=\"Adminka\"");
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 password FROM users WHERE login='".$_SERVER['PHP_AUTH_USER']."'";
$lst = mysql_query($query);
if (!$lst) {
Header ("WWW-Authenticate: Basic realm=\"Adminka\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
if (mysql_num_rows($lst) == 0) {
Header ("WWW-Authenticate: Basic realm=\"Adminka\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
$pass = @mysql_fetch_array($lst);
if ($_SERVER['PHP_AUTH_PW']!= $pass['pass']) {
Header ("WWW-Authenticate: Basic realm=\"Adminka\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
}
?>
он ограничивает но и не пускает даже с правильным логином и паролем
- 29.12.2011 14:04
- 29.12.2011 14:11
А без ограничения всё работает?
- 29.12.2011 14:12
Ems, да конечно. Я сначала админку написал, теперь хочу ограничение по паролю добавить и сессии
- 29.12.2011 14:23
попробуйте вывести значения переменных из сессий или кук... бывает такое, что неправильно записываются или передаются переменные...
да и мне кажеться что условия так поставлены, что любые значения будут перекидывать на
т.е. если есть такой пользователь, то загрузить это и закончить выполнение, если пороль, открыть опять то же и закончить выполнение....Header ("WWW-Authenticate: Basic realm=\"Adminka\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();Спасибо сказали:
cOAPerator(29.12.2011), - 29.12.2011 14:28
assai, нет, условия верны - проверка на логин, на пароль и на сравнение логина и пароля на одинаковость). только в этих случаях перекидывает в состояние Неавторизован. В остальных должно переводить в состояние авторизации этот скрипт работает на другом моем локальном сайте, просто не пойму где трабла...
Последний раз редактировалось cOAPerator; 29.12.2011 в 14:30.
- 29.12.2011 14:46
cOAPerator, а сервак на чем? просто если на другом работало нормально, то в настройках сервака надо смотреть, может не включен какой-то модуль
---------- Сообщение добавлено 13:46 ---------- Предыдущее 13:35 ----------
Basic авторизация не работает, если php стоит как cgi
тут похожую ситуация была уже может поможет )
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь. - 29.12.2011 14:46
cOAPerator, проверьте для начала значения, которые возвращают запросы к БД. Там всё верно?
И лучше не использовать
Header ("WWW-Authenticate: Basic realm=\"Adminka\"");
Header ("HTTP/1.0 401 Unauthorized");
Как вариант, можно делать редирект на первую страницу админки в случае успешного прохождения авторизации, а в шаблоне прописать код, который бы следил за наличием в сессии определённых переменных типо PHP_AUTH_USER и PHP_AUTH_PASSПоследний раз редактировалось Kartograff; 29.12.2011 в 14:53.
Спасибо сказали:
cOAPerator(29.12.2011), - 29.12.2011 14:58
assai, оба сайта на локальном серве, в одном работает в другом нет.. за ссылку спс, читаю)
Kartograff, ща попробую, а почему лучше не использовать?Последний раз редактировалось cOAPerator; 29.12.2011 в 15:02.
- 29.12.2011 15:03
Спасибо сказали:
cOAPerator(29.12.2011), - 29.12.2011 20:51
Ребята, спасибо всем вам за помощь! да, проблема была в возращаемых значениях. По совету Kartograff 'a, сделал авторизацию на отдельной странице и добавил хеширование пароля с солью.
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Вход в админку WP | WordPress | 9 | 27.01.2012 13:50 |
Как зайти в LoadPays? блокирует NOD32 | Партнерские программы | 2 | 09.10.2011 17:29 |
Вход в админку WP | Софт, скрипты, сервисы | 2 | 27.08.2011 10:22 |
Не получается восстановить пароль wordpress | Web программирование | 4 | 09.08.2011 22:31 |
Как взломать админку в DLE? | Дайджест блогосферы | 4 | 10.11.2010 21:25 |