Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Доступ к странице через логин, как реализовать?
 
 автор: unkel   (20.03.2009 в 23:54)   письмо автору
 
 

Есть сайт предлагающий товары и/или услуги, сделан на HTML + CSS, необходимо сделать доступ к странице с каталогом производимой продукции через логин, тоесть закрыть к указанной странице анонимный доступ, как это сделать? Подскажите кто знает!
p.s.
долго лазил по сети в поисках ответа, но необходимого руководства либо примера не нашел, пришлось обратиться к вам!

  Ответить  
 
 автор: Sten   (21.03.2009 в 01:09)   письмо автору
 
   для: 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 ("путь к созданному выше файлу"); 

Вот и всё

  Ответить  
 
 автор: UNKEL   (21.03.2009 в 11:17)   письмо автору
 
   для: Sten   (21.03.2009 в 01:09)
 

Огромное спасибо за отзыв!
Все предельно ясно, но возникло несколько вопросов:
1) phpmyadmin - это отдельный файл создать в корне сайта? расширение какое?
2) название создаваемого файла PHP с кодом произвольное?
3) строку "include" в закрываемом файле в каком месте прописать? в шапке?

  Ответить  
 
 автор: amigo63   (21.03.2009 в 11:40)   письмо автору
 
   для: UNKEL   (21.03.2009 в 11:17)
 

phpmyadmin - это утилита для работы с базами данных. Нужно зайти в неё, выбрать базу, затем вкладку SQL и выполнить команду. Название файла произвольное, с расширением .php. Кстати, расширение всех страниц с этим кодом нужно будет сменить с .html на .php

  Ответить  
 
 автор: amigo63   (21.03.2009 в 11:36)   письмо автору
 
   для: unkel   (20.03.2009 в 23:54)
 

Для сайта на html подойдет такой способ:
Все страницы с ограниченным доступом поместить в какую-нибудь папку (или несколько папок), затем папки защитить .htaccess. http://www.tranklukator.ru/content/web/9.htm (См. Как запретить веб-посетителям читать файлы в директории?)
Годится этот способ в осоновном тогда, когда количество юзеров защищенной оласти ограничено; когда Вы раздаете один пароль всем юзерам; когда Вы каждый раз изменяете файл с паролями вручную.

Если же Вам нужна полноценная регистрация новых пользователей, придется повозиться со скриптами.
Честно говоря, не знаю, можно ли изменять файл с паролями с помощью скриптов; в этом случае достаточно
будет написать только скрипт регистрации посетителей. Если такое невозможно, попробуйте способ, предложенный выше. Для него без проблем можно написать скрипт, создающий новых юзеров. Но в этом случае защищенные страницы придется переделывать в РНР.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования