|
|
|
| Есть сайт предлагающий товары и/или услуги, сделан на HTML + CSS, необходимо сделать доступ к странице с каталогом производимой продукции через логин, тоесть закрыть к указанной странице анонимный доступ, как это сделать? Подскажите кто знает!
p.s.
долго лазил по сети в поисках ответа, но необходимого руководства либо примера не нашел, пришлось обратиться к вам! | |
|
|
|
|
|
|
|
для: unkel
(20.03.2009 в 23:54)
| | 1) В phpmyadmin прописать код
CREATE TABLE `userlist` (
`id` int(3) NOT NULL auto_increment,
`user` varchar(50) NOT NULL default '',
`pass` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
|
И внести в поле user - логин, а в поле pass - пароль
2) Создать php файл со следующим кодом
<?php
$db = mysql_connect ("","","");
mysql_select_db ("",$db);
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();
}
}
?>
|
2) Прописать на страница которые нужно закрыть
include ("путь к созданному выше файлу");
|
Вот и всё | |
|
|
|
|
|
|
|
для: Sten
(21.03.2009 в 01:09)
| | Огромное спасибо за отзыв!
Все предельно ясно, но возникло несколько вопросов:
1) phpmyadmin - это отдельный файл создать в корне сайта? расширение какое?
2) название создаваемого файла PHP с кодом произвольное?
3) строку "include" в закрываемом файле в каком месте прописать? в шапке? | |
|
|
|
|
|
|
|
для: UNKEL
(21.03.2009 в 11:17)
| | phpmyadmin - это утилита для работы с базами данных. Нужно зайти в неё, выбрать базу, затем вкладку SQL и выполнить команду. Название файла произвольное, с расширением .php. Кстати, расширение всех страниц с этим кодом нужно будет сменить с .html на .php | |
|
|
|
|
|
|
|
для: unkel
(20.03.2009 в 23:54)
| | Для сайта на html подойдет такой способ:
Все страницы с ограниченным доступом поместить в какую-нибудь папку (или несколько папок), затем папки защитить .htaccess. http://www.tranklukator.ru/content/web/9.htm (См. Как запретить веб-посетителям читать файлы в директории?)
Годится этот способ в осоновном тогда, когда количество юзеров защищенной оласти ограничено; когда Вы раздаете один пароль всем юзерам; когда Вы каждый раз изменяете файл с паролями вручную.
Если же Вам нужна полноценная регистрация новых пользователей, придется повозиться со скриптами.
Честно говоря, не знаю, можно ли изменять файл с паролями с помощью скриптов; в этом случае достаточно
будет написать только скрипт регистрации посетителей. Если такое невозможно, попробуйте способ, предложенный выше. Для него без проблем можно написать скрипт, создающий новых юзеров. Но в этом случае защищенные страницы придется переделывать в РНР. | |
|
|
|