Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на PHP

Выпуск № 099
от 07.02.2004, 15:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 153
Отправлено ответов: 229
Активность: 149.6 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Dimonuch
Статус: Опытный
Общий рейтинг: 109.66
[Подробней >>]
homer
Статус: Начальный
Общий рейтинг: 160
[Подробней >>]
samum2000
Статус: Опытный
Общий рейтинг: 122.13
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 151. Привет! Спасибо за ответы на предыдущий вопрос. Еще по сессиям: PHP при переходе от скрипта к скрипт... (ответов: 3)

Вопросов: 1, ответов: 3


 Вопрос № 151

Привет!
Спасибо за ответы на предыдущий вопрос.
Еще по сессиям:
PHP при переходе от скрипта к скрипту автоматом сохраняет номер сессии в куках или приписывает к ссылке, если куки закрыты. Отсюда вопрос если "нехороший" пользователь изменит PHPSESSID в URL как я смогу проверить, что он это сделал, и как вообще PHP отреагирует, если вдруг появятся два пользователя с одним и тем же идентификатором сессии одновременно, т.е. имеется в виду, если один скопирует этот идентификатор у другого и подставит в адрес??
Удачи.



Вопрос отправлен: 03.02.2004, 19:25
Отправитель: Андрей

[Следующий вопрос >>] [Список вопросов]

Отвечает Dimonuch

Добрый день, Андрей!
Хммм, интересный вопрос ...
Проверить скорее всего никак не сможешь, ибо ПХП получает номер сессии и ничего более ... Можешь конечно сам привязывать их к ИП, но последствия думаю обьяснять не надо.


Ответ отправлен: 04.02.2004, 00:20
Отправитель: Dimonuch


Отвечает homer

Приветствую Вас, Андрей!
Никак, если человек подделал идентификатор сессии, то твой сайт скорее всего примет его за "настоящего" посетителя. Хотя сделать это достаточно сложно, ведь session_id это hash.
Выдержка из одной статьи по сессиям:
"Хоть сессию подделать нельзя, но существуют следующие непредвиденные случаи:
- на компьютере посетителя побывал злой хакер, который поставил злую программу, ворующую пароли от интернета (статья N##) и номера сессий
- между компьютером посетителя и сервером сидит злой хакер и видит все, что передается. Конечно, есть защищенный (зашифрованный) протокол SSL, но это увы везде не внедрить
-к компьютеру нашего посетителя подошел злой сосед и стащил этот номер сессии "
От этих вещей ты врядтли защитишься :)

Тут нужно использовать свои алгоритмы... например при регистрации пользователя записывать в базу его IP адрес и идентификатор сессии а дальше проверять, чтобы этому session_id соответствовал IP из базы. И если сессия вдруг запущена с другого IP адреса вежливо выдавать соответствущее сообщение.

Ответ отправлен: 04.02.2004, 09:43
Отправитель: homer


Отвечает samum2000

Здравствуйте, Андрей!
Если злобный хацкер подставит в строку Url'a какой-то идентификатор сессии, который не зарегистрирована сейчас, то у него получится полный облом. А вот если он сопрет его у другого пользователя, то получится, что он станет "тенью" этого несчастного и от его имени может наворотить чего-нибудь. Однако, во-первых, весьма сложно утащить такой идентификатор, во-вторых, это будет уже проблема пользователя, а не ваша, в-третьих, при небольшой настройке вашего пхп, особенно если он стоит как модуль, можно добиться того, что он не будет изменять ссылки. Тогда можно будет воспольоваться формами со скрытыми полями, в которые и прописывать идентификаторы (метод тоже не стопроцентный - ничего не мешает хакеру отловить пакеты, которыми обмениваются пользователь и сервер). И вообще, защита пользователя от хакера - дело рук самого пользователя.

Ответ отправлен: 05.02.2004, 07:38
Отправитель: samum2000



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (24)
C / C++ (14)
Perl (1)
Builder / Delphi (18)
Pascal (18)
Basic / VBA (7)
Java / JavaScript (3)
PHP (12)
Криптография (4)
WinAPI (9)
Радиоэлектроника (5)
Пользователю
Windows 95/98/Me (45)
Windows NT/2000/XP (59)
"Железо" (35)
Поиск информации (16)
Администратору
Windows NT/2000/XP (32)
Linux / Unix (12)
Юристу
Гражданское право (15)
Семейное право (10)
Трудовое право (12)
КоАП (11)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное