Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Доступ к страницам по паролю.

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

Diman1911



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть задача: к некоторым страницам сделать доступ по паролю.
Раньше подобных вещей я не делал.
Насколько я понимаю, есть три варианта реализации.
1. Сделать это на CGI.
    нужно ли при этом юзать SSI и как?
2. Сделать это на PHP.
3. Использовать .htaccess    
Поскольку про .htaсcess я до сегодняшнего дня ничего почти не знал (ну такой уж я ламак) то киньте pls ссылку где про это почитать.
Какая из реализаций удобнее и какую быстрее сделать?



 
 
 
В этой теме обсуждаем только конкретные способы паролирования.
 
Со всеми вопросами по готовым скриптам/программам и общим вопросам паролирования милости просим в соответствующие темы в "Помощи вебмастеру":
 

 


 
 

Всего записей: 24 | Зарегистр. 28-06-2003 | Отправлено: 19:30 14-07-2003 | Исправлено: Svarga, 03:22 24-07-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Diman1911

Цитата:
3. Использовать .htaccess      
Поскольку про .htaсcess я до сегодняшнего дня ничего почти не знал (ну такой уж я ламак) то киньте pls ссылку где про это почитать.  

http://forum.ru-board.com/topic.cgi?forum=8&topic=3291#1
раздел о .htaccess  или тут
http://spectator.ru/technology/web-building/htaccess_for_dummies
 

Цитата:
1. Сделать это на CGI.  
    нужно ли при этом юзать SSI и как?  
2. Сделать это на PHP.  

 
Ты уже ответил на вопрос..

Цитата:
ну такой уж я ламак

 
Проще всего через .htaccess.  Но если уж приспичило через скрипты, то
http://cgi.resourceindex.com/Programs_and_Scripts/Perl/Password_Protection/
http://php.resourceindex.com/Complete_Scripts/User_Management/Password_Protection/
подробнее
http://xpoint.ru/archive/threads/98/19768.html
http://dweb.ru/rass/web/030.htm


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:33 14-07-2003 | Исправлено: Cheery, 19:43 14-07-2003
dmi3



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Проще всего через .htaccess.

.htaccess не защищен от перебора паролей!

Всего записей: 99 | Зарегистр. 13-06-2003 | Отправлено: 19:48 14-07-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dmi3

Цитата:
Цитата:Проще всего через .htaccess.  
 
.htaccess не защищен от перебора паролей!  

я же сказал проще

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:53 14-07-2003
dmi3



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я просто предупредил!

Всего записей: 99 | Зарегистр. 13-06-2003 | Отправлено: 21:39 14-07-2003
SoftICE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я всегда на пхп делаю, методом куков -)
Хотя мне кажется разумней было бы использовать сессий..

Всего записей: 1065 | Зарегистр. 10-01-2003 | Отправлено: 22:53 14-07-2003
ripperm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно с помощью сессий:
Делаешь форуму где задаются user_name&user_pass
Проверяешь пароль...

Цитата:
 
unset($logged_user);
session_start();
session_register($logged_user);
      if(($user_name=="user_name")&&($user_pass=="password")){
      $logged_user = $user_name;
      session_register("logged_user");
      header("Location: some_page.php"); // esli vse ok... to mogno popast suda...
      exit;
    }
No access...

И файл в который попадаем...(some_page.php)

Цитата:
  session_start();
   if(!isset($logged_user)){
    header("Location: index.php");
    exit;
  }
Hello World!

 
Т.е. если имя юзера и пароль правильны, то устанафливается переменнаю logged_user и пишется в сессию. А в последнем файле проверяется установлена ли она. Ее можно устанавливать 1, 2, 3.. и при помощи этого делать разные уровни доступа к страницам... в общем простенько и со вкусом!
 

Всего записей: 302 | Зарегистр. 03-06-2002 | Отправлено: 23:32 14-07-2003 | Исправлено: ripperm, 23:33 14-07-2003
Diman1911



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.
А про CGI+SSI можно поподробней?..

Всего записей: 24 | Зарегистр. 28-06-2003 | Отправлено: 15:26 15-07-2003
ripperm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Diman1911, чесно говоря даже не хзнаю каким местом ssi здесь и вообще возможно ли это..
Лучше делать при помощи сессий или куков на мой взгляд.

Всего записей: 302 | Зарегистр. 03-06-2002 | Отправлено: 18:35 15-07-2003
djelektronik

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Diman1911 причем тут цги ваще?
ты хоть знаеш че ето такое?
 
 
ripperm твой пример
 

Цитата:
session_start();  
   if(!isset($logged_user)){  
    header("Location: index.php");  
    exit;  
  }  
Hello World!

 
не верный как я понял
зная исходник твоего скрипта
можно послать любой значение переменой $logged_user в хттп заголовке
оно у тя не проверяеца

Всего записей: 2530 | Зарегистр. 28-06-2001 | Отправлено: 20:58 15-07-2003
ripperm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djelektronik, тады делаем так:
unset($logged_user);  
session_start();  
session_register($logged_user);  
  if(!isset($logged_user)){  
    header("Location: index.php");  
    exit;  
  }  
Hello World!  

Всего записей: 302 | Зарегистр. 03-06-2002 | Отправлено: 11:58 16-07-2003
djelektronik

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ripperm проясни ситуацию  
откуда пхп узнает какой файл сесии брать
там по умолчанию они 2 мин держаца
вроде бы идентификатор сесии надо хранить в куках
или че?

Всего записей: 2530 | Зарегистр. 28-06-2001 | Отправлено: 14:54 16-07-2003
zabudkin



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
PHP замечательный язык и тебе не зачем беспокоится где, как и что он будет брать. Обычно Сессии происходят не через файлы, а через Куки. Если Куки не доступны, то через файлы. Вот там-то всё и зарыто На самом деле все просто до безобразия.

Всего записей: 347 | Зарегистр. 23-09-2002 | Отправлено: 17:53 16-07-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djelektronik
zabudkin

Цитата:
PHP замечательный язык и тебе не зачем беспокоится где, как и что он будет брать. Обычно Сессии происходят не через файлы, а через Куки. Если Куки не доступны, то через файлы. Вот там-то всё и зарыто  На самом деле все просто до безобразия.  

Идентификатор сессии хранится в кукиесах.. это так.. Если они отключены, то он передается в прямом виде через get запрос. Параметр PHPID (название можно поменять в php.ini)
Какие файлы?? Данные сессии всегда (!) хранятся в файле на сервере.. Эти файлы живут, по умолчанию, по активности соединения.. или 24 минуты после..
http://forum.ru-board.com/topic.cgi?forum=31&topic=3355#1


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:24 16-07-2003
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ripperm
я начал проверять работоспособность и напоролся на ошибки (свои, возможно я тебя не правильно понял..)
давай по-порядку:
  • создаем форму где задаются user_name & user_pass
  • создаем скрипт, который будет обслуживать форму,  
    в нем пишем:
    Код:
    unset($logged_user);  
    session_start();  
    session_register($logged_user);  
    if(($user_name=="user_name")&&($user_pass=="password")){  
    $logged_user = $user_name;  
    session_register("logged_user");  
    header("Location: some_page.php"); // esli vse ok... to mogno popast suda...  
    exit;  
    }  
    No access...  

    вот только непонятно мне, а зачем No access... (может тогда print/echo..) внизу??
  • дальше файл, в который переадрессуемся, в нем пишем так:

    Код:
    unset($logged_user);  
    session_start();  
    session_register($logged_user);  
    if(!isset($logged_user)){  
    header("Location: index.php"); // если я понял index.php - это файл с формой
    exit;  
    }  
    Hello World!  

    опять же зачем hello...
  • если все так, то у меня не пахает...
    при правильном пароле и логине, у меня перебрасывает к форме,
    а при неправильных данных - зависает на промежуточном скрипте (который обрабатывает форму)

    ----------
    Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

  • Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 18:08 19-07-2003
    romzes



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    согласен. Я всегда с помощью сессий делаю

    Всего записей: 325 | Зарегистр. 09-03-2002 | Отправлено: 11:35 20-07-2003
    ripperm



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кароче auth.php - файл в котором все проверяется...

    Цитата:
     
    <?
    session_start();  
    session_register($logged_user);  
    if(($user_name=="user_name")&&($user_pass=="password")){  
    $logged_user = $user_name;  
    session_register("logged_user");  
    header("Location: some_page.php"); // esli vse ok... to mogno popast suda...  
    exit;  
    } else {
    echo "No access..";
    }  
    ?>
     

    И файл some_page.php

    Цитата:
     
    <?
    unset($logged_user);  
    session_start();  
    session_register($logged_user);  
    if(!isset($logged_user)){  
    header("Location: index.php"); // если переменная $logged_user не установслена переадресуем к файлу с формой...
    exit;  
    }  else {
    echo "Это секретный контент...";
    }
       


    Всего записей: 302 | Зарегистр. 03-06-2002 | Отправлено: 12:46 20-07-2003
    pite



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HTML Password Pro http://forum.ru-board.com/topic.cgi?forum=35&topic=5309&start=60#lt

    Всего записей: 838 | Зарегистр. 09-05-2002 | Отправлено: 08:03 21-07-2003
    Excell



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ripperm
    при соблюдении всех условий мы попадаем на файл с формой
    если мы убираем восклиц. знак с isset ():[codeif(isset($logged_user)){  
    [/code] то попадаем на some_page.php !! все было бы хорошо, но мы также можем попасть (!) на some_page.php при наборе в http заголовке адрессной строке браузера


    ----------
    Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

    Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 07:27 23-07-2003
    ripperm



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Excell, да, но если логин и пароль не верны  

    Цитата:
    header("Location: index.php"); // если переменная $logged_user не установслена переадресуем к файлу с формой...  

    , а если верны
     

    Цитата:
    echo "Это секретный контент...";  


    Всего записей: 302 | Зарегистр. 03-06-2002 | Отправлено: 12:21 23-07-2003
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2

    Компьютерный форум Ru.Board » Интернет » Web-программирование » Доступ к страницам по паролю.


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru