Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Какой самый надежный способ аутентификации ?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 19:33:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Здравствуйте все!
Вопрос к экспертом и магистрам)
Подскажите пожалуйста, какой самый надёжный способ аутентификации ?
Достаточто ли надёжна аутентификация с помощью сеансов?

(Отредактировано автором: 17 Апреля, 2011 - 19:36:06)

 
 Top
EuGen Администратор
Отправлено: 17 Апреля, 2011 - 19:52:15
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




"Самый надежный" - понятие относительное.
Если безопасность нужна из ряда вон, используйте стандартный механизм сессий с привязкой, скажем, по IP и с соединением по подтвержденному SSL-сертификату.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 19:59:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




А с привязкой по IP ? Он же должен быть статистичесий обязательно?
 
 Top
EuGen Администратор
Отправлено: 17 Апреля, 2011 - 20:01:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




При первом посещении привязку делайте к тому IP, с которого сделан запрос (то есть это усложнит всякие XSS и им подобные)
И время жизни сессии задавайте. Скажем, 10 минут. И делайте logout, если пользователь ничего не делал в течении этого времени.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 20:10:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Спасибо большое! И ещё очень важный вопрос для меня. На счёт SSL-сертификатов.
Я хочу воспользоваться им, но вот не знаю как. Мне надо изучить хорошо эту технологию, или достаточно на хостинге заказать его, и они всё сделают?
 
 Top
EuGen Администратор
Отправлено: 17 Апреля, 2011 - 20:13:05
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Изучить я бы рекомендовал в любом случае. По поводу сертификатов - думаю, можете обратиться к хостеру, наверняка они предоставляют такую услугу, или же можете заказать его сами.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 20:17:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Да, хостеры предоставляют эту услугу. А не посоветуете какое либо пособие, где это всё доходчиво разъясняется?
 
 Top
EuGen Администратор
Отправлено: 17 Апреля, 2011 - 20:21:47
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 20:23:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




EuGen, спасибо Вам большое!)
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 22:45:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




EuGen


EuGen, посмотрите пожалуйста этот код. Что скажете?



PHP:
скопировать код в буфер обмена
  1. <?
  2. if (isset($_POST['auth_name'])) {
  3.   $name=mysql_real_escape_string($_POST['auth_name']);
  4.   $pass=mysql_real_escape_string($_POST['auth_pass']);
  5.  
  6.   $query = "SELECT * FROM `admin_pass` WHERE `username`='".$name."' AND `password`='".$pass."'";
  7.  
  8.   $res = mysql_query($query) or trigger_error(mysql_error().$query);
  9.   if ($row = mysql_fetch_assoc($res)) {
  10.     session_start();
  11.     $_SESSION['user_id'] = $row['id'];
  12.     $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  13.   }
  14.   header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
  15.   exit;
  16. }
  17. if (isset($_GET['action']) AND $_GET['action']=="logout") {
  18.   header("Location: http://".$_SERVER['HTTP_HOST']."/");
  19.   exit;
  20. }
  21. if (isset($_REQUEST[session_name()])) session_start();
  22. if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
  23. else {
  24. ?>
  25. <form method="POST">
  26. <input type="text" name="auth_name"><br><br>
  27.  
  28. <input type="password" name="auth_pass"><br><br>
  29.  
  30. <input type="submit"><br>
  31. </form>
  32. <?
  33. }
 
 Top
OrmaJever Модератор
Отправлено: 17 Апреля, 2011 - 23:51:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




1) зачем начинать сесию 3 раза в одном файле? строки 10, 18 и 23
2) trigger_error(mysql_error().$query) Это чтобы пользователь знал имя таблицы и путь к файлам для будущего взлома?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
SAD
Отправлено: 17 Апреля, 2011 - 23:54:41
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




OrmaJever пишет:
Это чтобы пользователь знал имя таблицы и путь к файлам для будущего взлома?

кросавчег)
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Апреля, 2011 - 23:55:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




SAD пишет:
OrmaJever пишет:
Это чтобы пользователь знал имя таблицы и путь к файлам для будущего взлома?

кросавчег)

Это сорказм, или он прав?
 
 Top
SAD
Отправлено: 17 Апреля, 2011 - 23:57:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




прав Ха-ха
 
 Top
OrmaJever Модератор
Отправлено: 18 Апреля, 2011 - 00:01:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




armancho7777777 пишет:
Это сорказм, или он прав?

Зделай синтаксическую ошибку в запросе и посмотри что выведет.
(Добавление)
А выведет примерно следуйщее
CODE (htmlphp):
скопировать код в буфер обмена
  1. Notice: Table 'site.admin_pass' doesn't existSELECT * FROM `admin_pass` WHERE `username`='' AND `password`='' in X:\www\test.php on line 275

Это джек пот для хакера Улыбка

(Отредактировано автором: 18 Апреля, 2011 - 00:04:29)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB