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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Безопасна ли такая авторизация? 
:(
    Опции темы
Bangladesh
Дата 20.8.2005, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


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

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



я создал админку, защищается которая с помощью id. поясню. при регистрации админа ему задается уникальный id-номер. после этого, когда он заходит в админку id возвращается из базы данных в завивсимости от имени и пароля в url. т.е. он всегда передается методом get. когда админ ходит по админке этот ид находится постоянно в строке. любой файл, который вызывается. даже те, которые загружаются include, проверяется id. если id чушь они посылают человека куда подальше. как вы думаете, надежная такая система?


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
quarz
Дата 20.8.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В такиой системе возможны 2 случая похищения id:
1) непосредственно из базы данных
2) из строки броузера в то время как админ админит свой сайт.
Первый способ маловероятен, и это уже проблема скорее БД, а не разработчика. Хотя тоже надо разумно делать запросы в БД и не подавать запрос без предварительной обработки.
Во втором случае, id просто похищается. Это достаточно просто, если у компьютера плохая защита и нет файрвола/антивируса. Отсылаем ему троян, который передает по мылу строку из броузера. Единственный выход - делать динамические id, имхо.
PM MAIL   Вверх
Рыжий
Дата 20.8.2005, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


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

Репутация: 2
Всего: 20



I, GyoZ
Погоди, шв передается в параметре GET?? это как прямо в адресе www.site.ru?id=1 ?
PM MAIL ICQ   Вверх
Mal Hack
Дата 20.8.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 122
Всего: 261



Никогда по ссылкам не надо итаких вещей передвать.
Вот читай про более менее нормальную авторизацию: http://forum.vingrad.ru/index.php?act=modu...el&article=2849
PM ICQ   Вверх
Bangladesh
Дата 21.8.2005, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


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

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



Цитата(PHP @ 20.8.2005, 09:42)
I, GyoZ
Погоди, шв передается в параметре GET?? это как прямо в адресе www.site.ru?id=1 ?

да, передается в строке.
Добавлено @ 08:21
а если действитель сделать динамичный id и передавать его через сессию? или это не безопасно? лучше черед БД?


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Рыжий
Дата 21.8.2005, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


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

Репутация: 2
Всего: 20



I, GyoZ
Ты что шутишь передавать в строке?????????!!!!!!!
любой пользователь может отредактировать строку и прописать id=1 и без проблем стать админом! smile
PM MAIL ICQ   Вверх
Bangladesh
Дата 22.8.2005, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


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

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



с любым идом там не пройдешь. там такая система.

1. каждому админу дается id и записывается в базу данных.
2. при загрузке каждой страницы, даже те, которые загружаются include, происходит не проверка на существование, а сверение с базой данных. если там такой id находят, то страница загружается. если ида нет то пишется, что запрещено...

код:

Код

$access = false;
$hostname = "localhost";
$username = "u";
$pwd = "p";
$dbName = "g";

mysql_connect($hostname, $username, $pwd) or die (mysql_error());
 mysql_select_db($dbName) or die (mysql_error());
 $sql = "SELECT * FROM admins";
 $query = mysql_query($sql);
 while($row=mysql_fetch_array($query)){
  if($row[id]==$_GET[id]){
   $access = true; $nm = $row[name]; $snm = $row[surname]; }
 }
mysql_close;

if($access==true){
// Пропуск
}
else {
// Отказ }



--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Phantom1
Дата 22.8.2005, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Надо не через ID пользователя а через временную таблицу при удачной авторизации генерить KEY и записывать во временную таблицу и куе передавать через сессии и т.д.
PM MAIL   Вверх
Bangladesh
Дата 23.8.2005, 05:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


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

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



учту. придется всё переписывать. почитал факу, там пришлось php.ini перенастроить, так теперь вообще нифига не работает smile


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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