Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Авторизация для себя в скрипте 
:(
    Опции темы
Elfet
Дата 7.4.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Как можно просто реализовать простую афторизацию на своём сайте? Пишу тобишь сайт для себя и лень делать сложную авторизацию. Может есть простой способ?


--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 7.4.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Вот так можно?
Код

$myPas = "001d7f516a39bed8ac1f74de1286da52";

if( isset($_GET['login']) )
{
 if( isset($_POST['password']) )
 {
  if( md5($_POST['password']) == $myPas )
  {
   setcookie("admin", md5($_POST['password']), time()+3600 );
   print $kernel->html->login(1);
   exit;
  }
 }
 else
 {
  print $kernel->html->login(0);
  exit;
 }
}
else if(isset($_GET['logout']))
{
 setcookie("admin", 0, 0 );
 print $kernel->html->login(2);
 exit;
}
if( isset($_COOKIE['admin']) && $_COOKIE['admin'] == $myPas )
{
 print "Admin";
}



--------------------
PM MAIL WWW Skype   Вверх
Wolf1994
Дата 7.4.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



1) Поставить куки админа.
2) Скрипт ставящий куки удалить.
3) Распознавать админа по кукам и продлевать срок их действия.
PM MAIL WWW   Вверх
ZlojEzh
Дата 7.4.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 1
Всего: 15



если доступ надо полностью ограничить на некий скрипт или папку - юзай авторизацию через .htaccess
если возможен доступ к одному скрипту пользователей с разным уровнем доступа, тогда неплохой вариант - использование PEAR (Auth_HTTP) - понадобится всего несколько строчек кода
правда Auth_HTTP работает только если php наcтроен модулем апача

иначе - сессии


Цитата(Wolf1994 @ 7.4.2006, 19:45 Найти цитируемый пост)
1) Поставить куки админа.
2) Скрипт ставящий куки удалить.
3) Распознавать админа по кукам и продлевать срок их действия.

ИМХО, не лучший вариант в плане безопасности
зато, признаю, самый простой (если не считать .htaccess)

PM MAIL ICQ   Вверх
Elfet
Дата 8.4.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



А может кто-нибудь про Auth_HTTP расказать?


--------------------
PM MAIL WWW Skype   Вверх
ZlojEzh
Дата 8.4.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 1
Всего: 15



да там, в принципе, все в мануале есть

экзампл из мана:
Код

require_once("Auth/HTTP.php");

// setting the database connection options
$AuthOptions = array(
'dsn'=>"pgsql://test:test@localhost/testdb",
'table'=>"testable",                            // your table name 
'usernamecol'=>"username",            // the table username column
'passwordcol'=>"password",            // the table password column
'cryptType'=>"none",                // password encryption type in your db
);


$a = new Auth_HTTP("DB", $AuthOptions);

$a->setRealm('yourrealm');            // realm name
$a->setCancelText('<h2>Error 401</h2>');        // error message if authentication fails
$a->start();                    // starting the authentication process


if($a->getAuth())                // checking for autenticated user 
{
    echo "Hello $a->username welcome to my secret page";
    
};



как видишь - все предельно просто
создаешь в БД таблицу вида login-password (если нету БД можно использовать файлы или что-нить другое - контейнеров для паролей там много)
вписываешь в этот кусок кода данные по БД и вставляешь в начало своего скрипта
и все, собсна

про dsn можно почитать в мане по PEAR:DB

хотя я предпочитаю .htacess ))
PM MAIL ICQ   Вверх
IvanB
Дата 8.4.2006, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: нет
Всего: 5



Имхо, Google может....smile
http://dmitry.ints.net/library/prog/link/P....auth_http.html

Опоздал...)

Это сообщение отредактировал(а) IvanB - 8.4.2006, 12:36
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
Elfet
Дата 8.4.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Ок спасибо! smile Не хотелось использовать базу.
А вот так вот безопасно будет?
Код

$myPas = "001d7f516a39bed8ac1f74de1286da52";
$myPas_date = date("HdmY");

if( isset($_GET['login']) )
{
 if( isset($_POST['password']) )
 {
  if( md5(md5($_POST['password']).$myPas_date) == md5($myPas.$myPas_date) )
  {
   setcookie("admin", md5(md5($_POST['password']).$myPas_date), time()+3600 );
   print $kernel->html->login(1);
   exit;
  }
 }
 else
 {
  print $kernel->html->login(0);
  exit;
 }
}
else if(isset($_GET['logout']))
{
 setcookie("admin", 0, 0 );
 print $kernel->html->login(2);
 exit;
}
if( isset($_COOKIE['admin']) && $_COOKIE['admin'] == md5($myPas.$myPas_date) )
{
  $kernel->is_admin = 1;
  //Ура мы админ!
}

$kernel->html->login(0); - форма ввода пароля
$kernel->html->login(1); - Говория что удачно вошли
$kernel->html->login(2); - Говорим что удачно вышли

Такая авторизация по md5 на одни час (md5($myPas.$myPas_date)) из хеш пароля. С солью smile


--------------------
PM MAIL WWW Skype   Вверх
IvanB
Дата 8.4.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: нет
Всего: 5



? А зачем два раза md5 применять?
Вроде одного хватать должно....)
Хотя генерация хеша - исключительно дело вкуса....)

Это сообщение отредактировал(а) IvanB - 8.4.2006, 14:14
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
ZlojEzh
Дата 8.4.2006, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 1
Всего: 15



вот кто-то удивится, когда после трех суток работы md5_inside получит еще один хеш и строчку с временем...
PM MAIL ICQ   Вверх
Wolf1994
Дата 8.4.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Просветите ламера в этом деле. Хэш на куки ставится - чтобы уберечь куки от CSS-атаки (или как ещё их можно узнать)?
PM MAIL WWW   Вверх
Elfet
Дата 9.4.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



md5($myPas.$myPas_date) - это что бы хэш которые записываеться в куки работал только один час smile


--------------------
PM MAIL WWW Skype   Вверх
AztEK
Дата 9.4.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Может я щас бред скажу, но может просто создать файл с названием типа vjshfhsduihiuvhsd.php
Прописать в нём админку без всяких сессий и кук. Фик туда кто попадёт - название то...


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
Elfet
Дата 9.4.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Можно, но мне нужно лазить по самому сайту как админ.


--------------------
PM MAIL WWW Skype   Вверх
Wolf1994
Дата 9.4.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Цитата(Elfet @ 9.4.2006, 14:03 Найти цитируемый пост)
md5($myPas.$myPas_date) - это что бы хэш которые записываеться в куки работал только один час 

Задним умом догнал smile но я думал, что хэши ещё используются для "дополнительной" защиты. Зачем, например, хранить пароли форумов в хэше, ведь там он временно-независимый? Или я что-то путаю и хэши используются только с модификаторами, чтобы из двух ключей сделать один?
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0878 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.