Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сессии
 
 автор: Schumacher   (22.05.2005 в 19:55)   письмо автору
 
 

Зачем механизм сессий нужен на форуме, ладно там в интернет-магазине

   
 
 автор: Sin   (22.05.2005 в 20:06)   письмо автору
 
   для: Schumacher   (22.05.2005 в 19:55)
 

Также как и винтернет магазине ;) Как вести пользоватля от страницы к странице?

   
 
 автор: Schumacher   (22.05.2005 в 20:10)   письмо автору
 
   для: Sin   (22.05.2005 в 20:06)
 

И что это даёт?

   
 
 автор: glsv (Дизайнер)   (22.05.2005 в 23:01)   письмо автору
 
   для: Schumacher   (22.05.2005 в 20:10)
 

>И что это даёт?
Тут уж кто как придумает.
Например, защиту от спама.

   
 
 автор: Schumacher   (22.05.2005 в 23:51)   письмо автору
 
   для: glsv (Дизайнер)   (22.05.2005 в 23:01)
 

Дизайнер, а чё такое спам? (я совсем недавно стал изучать PHP и поэтому такие глупые звучат вопросы)

   
 
 автор: glsv (Дизайнер)   (22.05.2005 в 23:58)   письмо автору
 
   для: Schumacher   (22.05.2005 в 23:51)
 

Я, в данном случае, имел ввиду что с помощью сессий можно предотвратить автоматическое создание множества новых тем с помощью скрипта.
Если почтовый спам - это множество ненужных рекламных (и не только) писем, то здесь по аналогии - множество ненужных тем.

   
 
 автор: Schumacher   (23.05.2005 в 00:15)   письмо автору
 
   для: glsv (Дизайнер)   (22.05.2005 в 23:58)
 

А как автоматически создать новую тему с помощью скрипта?

   
 
 автор: cheops   (23.05.2005 в 02:00)   письмо автору
 
   для: Schumacher   (23.05.2005 в 00:15)
 

Анализируется форма отправки сообщения, вычисляется обработчик и принимаемые им параметры - в скрипте эмулируется отправка этих параметров обработчику. Обычно для этого применяются сокеты.

   
 
 автор: Schumacher   (23.05.2005 в 17:35)   письмо автору
 
   для: cheops   (23.05.2005 в 02:00)
 

Cheops, ну этот-то понятно, вот только причём тут сессии так и не доходит, печально..........

   
 
 автор: Artemy   (23.05.2005 в 20:23)   письмо автору
 
   для: Schumacher   (23.05.2005 в 17:35)
 

Использование сессий при отправки данных на сайт предотвращает авто-публикование тем или сообщений на форумах, досках объявлений, гостевых книгах и т.д.

Если Вам интересно как работает такой механизм, то скачайте по этой ссылке http://www.softtime.ru/info/gbmysql.php?down=gbmysql.zip, ну например: гостевую книгу, и разберитесь!
А вообще смотрите...
<?PHP
// Открываем сессию
session_start();
// Создаем переменную $sid_add_theme, содержащею номер Вашей сессии
$sid_add_theme session_id();
//Если обратились к обработчику формы
if (!empty($action))
  {
  
// Проверяем совпадает ли идентификатор сессии с
  // переданным в форме - защита а авто-постинга
  
if($sid_add_theme != $_POST['sid_add_theme'])
    {
    echo 
"Ошибка добавления сообщения в гостевую книгу!";
    exit;
    }
  
// Если условие выполнилось, то дальше продолжается работа обработчики формы
  
}
?>

   
 
 автор: cheops   (23.05.2005 в 23:31)   письмо автору
 
   для: Artemy   (23.05.2005 в 20:23)
 

Здесь эффект построен на том, что уникальный номер сессии помещается в скрытое поле формы, при этом при переходе к обработчику формы номер у посетителя остаётся точно-такой же (его запоминает браузер), если номера переданные через скрытое поле и номер полученный в обработчике при помощи функции session_id() совпадают, то посетитель честно зашёл на сайт, загрузил форму и сейчас попал в обработчик. Если они не совпадают, значит кто-то воссоздал запрос к обработчику, засунул туда номер от балды и пытается программным путём обратиться к обработчику, минуя форму.

   
 
 автор: Schumacher   (25.05.2005 в 00:06)   письмо автору
 
   для: cheops   (23.05.2005 в 23:31)
 

Спасибо мужики, cheops и Artemy, теперь понятно. Вот только такой вопрос: а что "опасного" может быть, если не делать эту проверку? Кстати, почему-то на форуме Левина сессий вообще нет. Получается это не необходимость

   
 
 автор: glsv (Дизайнер)   (25.05.2005 в 04:26)   письмо автору
 
   для: Schumacher   (25.05.2005 в 00:06)
 

>Вот только такой вопрос: а что "опасного" может быть, если не делать эту проверку?
В принципе, жить можно и без таких проверок. Но в одно прекрасное утро можно проснуться и увидеть в форуме 500 одинаковых тем. Это парализует на некоторое время работу форума, да и для имиджа ничего хорошего. И если это не исправить, то можно стать прекрасным объектом для подобных сетевых издевательств и шантажа.

   
 
 автор: Schumacher   (25.05.2005 в 19:49)   письмо автору
 
   для: glsv (Дизайнер)   (25.05.2005 в 04:26)
 

Дизайнер, ну ведь как я понимаю легко можно обойти эту проверку, например, регистрироваться под одним именем и отправить msg, потом под другим именем и отправить это же и так пока не устанешь. Разве не так?

   
 
 автор: cheops   (25.05.2005 в 20:56)   письмо автору
 
   для: Schumacher   (25.05.2005 в 19:49)
 

Да, но на 50-м сообщении отправляющий устанет и поймёт, что хватит, а если он ещё представит, что модератор удалит все его сообщения при помощи одного единственного SQL-запроса - настроение его будет совсем испорчено :)))

   
 
 автор: krot   (24.05.2005 в 01:47)   письмо автору
 
   для: Schumacher   (22.05.2005 в 19:55)
 

авторизация на сайтах основанна именно на етих самых сесиях

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования