powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Перенаправления пользователей
7 сообщений из 7, страница 1 из 1
Перенаправления пользователей
    #32645904
linke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ подскажите кто как реализует такую проблему: надо сделать авторизацию и в зависимости от логина и пароля показывать определенную страницу. Посмотрел, почитал есть несколько вариантов:
1) с помощью .htaccess
2) с помощью скрипта
При первом варианте вроде все хорошо, но есть одно но, пока пользователей немного все нормально,но как только их станет много есть неудобство их добавлять(может я не прав).
Второй способ хранить пользователей и пароли в базе данных и сравнивать с тем что ввел пользователь.Нашел пример скрипта который вызывает окно авторизации как при .htaccess но не очень понятно как можно завязать пользователей и пароли хранящиеся в базе и вводимыми данными в это окно(так и не понял откуда он берет логин и пароль).
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
#!/usr/bin/perl
use MIME::Base64;
$ENV{HTTP_CGI_AUTHORIZATION} =~ s/basic\s+//i;
($REMOTE_USER,$REMOTE_PASSWD) =
  split(/:/,decode_base64($ENV{HTTP_CGI_AUTHORIZATION}));

# проверяем значения $REMOTE_USER и $REMOTE_PASSWD
if (!UserAccess($REMOTE_USER,$REMOTE_PASSWD)) { 
  print "WWW-Authenticate: Basic realm=\"что то там\"\n";
  print "Status: 401 Unauthorized\n\n";
  print "Ошибка авторизации!\n";
  exit; 
} 

# код, который выполняется при успешной авторизации
print "Content-type: text/html\n\n"; 
print "Привет, $REMOTE_USER!";
exit; 

# простейшая проверка: 
# совпадают ли введенные значения с "user" и "userpas"
sub UserAccess { 
  my $aUser = $_[ 0 ]; 
  my $aPass = $_[ 1 ]; 

  $res = ( $aUser eq "user" && $aPass eq "userpas" ?  1  :  0 ); 
  return $res; 
} 
...
Рейтинг: 0 / 0
Перенаправления пользователей
    #32646844
HISH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
linkeНарод подскажите кто как реализует такую проблему: надо сделать авторизацию и в зависимости от логина и пароля показывать определенную страницу. Посмотрел, почитал есть несколько вариантов:
1) с помощью .htaccess
2) с помощью скрипта
При первом варианте вроде все хорошо, но есть одно но, пока пользователей немного все нормально,но как только их станет много есть неудобство их добавлять(может я не прав).
Второй способ хранить пользователей и пароли в базе данных и сравнивать с тем что ввел пользователь.Нашел пример скрипта который вызывает окно авторизации как при .htaccess но не очень понятно как можно завязать пользователей и пароли хранящиеся в базе и вводимыми данными в это окно(так и не понял откуда он берет логин и пароль).
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
#!/usr/bin/perl
use MIME::Base64;
$ENV{HTTP_CGI_AUTHORIZATION} =~ s/basic\s+//i;
($REMOTE_USER,$REMOTE_PASSWD) =
  split(/:/,decode_base64($ENV{HTTP_CGI_AUTHORIZATION}));

# проверяем значения $REMOTE_USER и $REMOTE_PASSWD
if (!UserAccess($REMOTE_USER,$REMOTE_PASSWD)) { 
  print "WWW-Authenticate: Basic realm=\"что то там\"\n";
  print "Status: 401 Unauthorized\n\n";
  print "Ошибка авторизации!\n";
  exit; 
} 

# код, который выполняется при успешной авторизации
print "Content-type: text/html\n\n"; 
print "Привет, $REMOTE_USER!";
exit; 

# простейшая проверка: 
# совпадают ли введенные значения с "user" и "userpas"
sub UserAccess { 
  my $aUser = $_[ 0 ]; 
  my $aPass = $_[ 1 ]; 

  $res = ( $aUser eq "user" && $aPass eq "userpas" ?  1  :  0 ); 
  return $res; 
} 


э... функция UserAccess возвращает 1 если логин и пасс правильные, 0 - если неправильные. вот тут: автор$res = ( $aUser eq "user" && $aPass eq "userpas" ? 1 : 0); это и делается.
...
Рейтинг: 0 / 0
Перенаправления пользователей
    #32648060
Фотография Sehensucht! (потерял пароль)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше (и главное, правильнее) использовать БД. А скрипт сам напиши - ничего сложного там нет, администрилка пользователей будет иметь всего три окошка - логин, пароль и урл, куда надо перенаправлять...
Это в простейшем случае.

Можно еще сделать связную таблицу с правами доступа - иногда требуется доступ к скрипту, к какой-нибудь рубрике на сайте и т.п.

Собственно, в чем проблема-то? :)
...
Рейтинг: 0 / 0
Перенаправления пользователей
    #32648834
linke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
Перенаправления пользователей
    #32649599
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ещё что. Мне "в детстве" посоветовали, сам использую и другим советую: незачем хранить в базе сами пароли. Используй hash-и
...
Рейтинг: 0 / 0
Перенаправления пользователей
    #32649643
копосов нв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Определяй кодом куда user'a перенаправлять, а потом смотря куда перенаправляешь пиши
Код: plaintext
<?php  Header("Location: $out");?>
,
где
Код: plaintext
$uot
адрес (url) перенаправления
...
Рейтинг: 0 / 0
Перенаправления пользователей
    #32650291
linke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За хеши отдельное спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Перенаправления пользователей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]