Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: textarea и слеши  (Прочитано 35651 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #30 : 16-05-2006 11:18 » 

Шнибл, согласен с Chaa - ты смешиваешь все в одну кучу. После проведения авторизации тебе логин/пароль в сессии хранить нет необходимости.

Насчет хеширования и аутентификации. Процесс такой:
1) Сервер требует аутентификации и передает клиенту случайно сгенеренную строку. Эту же строку он сохраняет в сессии.
2) Клиент выполняет магические действия с полученной строкой, своим логином, паролем и мало ли еще с чем и отсылает результат на сервер.
3) Сервер делает то же, что только что проделал клиент, но строку он берет из сессии. Потом он сравнивает свой результат с полученным от клиента. Если все Ок, то ставит в сессии галочку, что клиент залогинен.

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

--------
"Гарантию может дать только полис Госстраха (с) О.Бендер"
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chaa
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #31 : 16-05-2006 11:24 » 

В посте #19 описана возможность отключения добавления идентификатора сессии к ссылкам, чтобы он случайно не стал общим достоянием.
В посте #14 обсуждается проверка IP-адреса аутентифицированного пользователя. На мой взгляд, это единственное, что можно проверять.

1) Сервер требует аутентификации и передает клиенту случайно сгенеренную строку. Эту же строку он сохраняет в сессии.
2) Клиент выполняет магические действия с полученной строкой, своим логином, паролем и мало ли еще с чем и отсылает результат на сервер.
3) Сервер делает то же, что только что проделал клиент, но строку он берет из сессии. Потом он сравнивает свой результат с полученным от клиента. Если все Ок, то ставит в сессии галочку, что клиент залогинен.
Если есть возможность использовать HTTPS, то лучше его.
Записан
Шнибл
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #32 : 16-05-2006 11:38 » 

Покажи мне где я предлагал хранить в сесси логин|пароль ? по поводу смешивания всего в кучу, не согласен что при решении проблемы безопасности нужно закрывать глаза на подделку sessionID только потому что его сложно украсть. если бы  sessionID не перехватывалось, то вообще в данной теме разговоров таких можно было бы не заводить.. Просто на мой взгляд сдесь затронуты были такие вещи, что если хостер не нормальный то всё таки с этим кое что еще можно будет поделать.

По поводу проверки IP на мой взгляд большой процент подделок может приходиться на людей работающих в 1 фирме например в пределах конкуренции сотрудников отдела Улыбаюсь учитывая тематику сайта конешно. И что-то мне подсказывает что в большинстве организациях внешний IP один.

RXL всё правильно написал, только мне кажется с оговоркой, что пункт 3 должен делаться в каждом скрипте.
« Последнее редактирование: 16-05-2006 12:04 от Шнибл » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #33 : 16-05-2006 12:19 » 

Шнибл, какой смысл повторять п3? Это делается лишь раз, при получении данных для аутентификации от клиента. Клиент не может генерить данные каждый раз - для этого нужны логин и пароль, а пользователь на каждой странице их вводить не будет.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Шнибл
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #34 : 16-05-2006 14:44 » 

если на странице авторизации (ххх.php) после успешного выполнения оной мыставим в сессии галочку, что клиент залогинен. , Далее переходим на страницу ууу.php, в случае когда на этой странице мы просто проверяем наличие этой самой галочки, то это не спасает нас в случаях с перехватом sessionID и обращении напрямую к файлу yyy.php. Согласен что каждый раз спрашивать у пользователя логин/пароль, да и вообще чтобы то нибыло выглядит довольно глупо, поэтому опрос такой надо производить без его участия.. с его браузером например, что при условии небольшой живучести сессии даст некоторые гарантии, не будет же человек 1 форум просматривать в течении дня, прыгая с 1 на другой браузер.. И в таком случае для подделки пользователя нам нужно узнать еще и версию его браузера, кроме sessionID.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #35 : 16-05-2006 15:58 » 

Не понимаю, зачем ты застреваешь на перехвате session id? Ты его сначала перехвати - способов не так много, но далеко не у каждого есть для этого возможности. Если нужна повышенная секретность, то используй https (уже не раз в этой теме звучало).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chaa
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #36 : 17-05-2006 02:30 » 

Полностью согласен с RXL. Почти все современные продукты,  написанные на PHP, построен на таком принципе, и от перехвата сессии пострадало не так уж много людей.

Про браузер:
Если у двух человек одинаковый внешний IP-адрес, то они скорее всего находятся в одной локальной сети, и выяснить, какой у твоего соседа браузер не составит никакого труда.
Записан
Шнибл
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #37 : 17-05-2006 05:22 » 

RXL реализация не так уж много времени занимает можно ей и не пренебрегать.
Chaa ну это ты как программер данного скрипта  знаеш что загвостка именно в браузере, и потом я специально жирным выделил чтобы указать что это пример и я не считаю что удачный.

Хорошо, давайте оставим эту тему именно в этом ракурсе. Если есть, что нового пишите с удовольствием почитаю.
Записан
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines