|
|
|
| Здраствуйте.
Вот прочитал "Безопасное программирование на PHP", но не совсем понял, как работает прошивка сессией.
В статье написано:
Злоумышленник может загрузить страницу с формой добавления сообщения к себе на локальный компьютер и добавить несколько сотен сообщений в гостевую книгу или форум
Для этого нужно добавить
<input type='hidden' name='id' value="<?php echo $session_id(); ?>">
|
А дальше просто проверить
if($_POST['session_id'] != session_id())
| .
Только вот не понятно, злоумышленник же скопирует форму вместе с сессией, например,
<input type='hidden' name='id' value="io09hs1ig2f4su5obn13fcv997">
|
и так же пошлет. И еще может послать сколько угодно раз, по этой же сессии. Или это не так?
Ведь если было бы так
<?php
if(session_id() == $_POST['id']) {
//Делаем все что нужно и меняем сессию
session_regenerate_id();
}
?>
|
То для меня это было бы понятно и послать с той же формы (сессии) уже не получится.
Пожалуйста объясните, что я не так понял. | |
|
|
|
|
|
|
|
для: антоха
(21.01.2008 в 14:35)
| | Тогда после добавления нужно уничтожить сессию. Хотя это не является надежным вообще, т.к. SID можно достать, загрузив страницу с формой автоматически перед отправкой нового сообщения. | |
|
|
|
|
|
|
|
для: антоха
(21.01.2008 в 14:35)
| | Технология устаревшая. Лучше на нее не ориентироваться. | |
|
|
|
|
|
|
|
для: Loki
(21.01.2008 в 15:52)
| | а какая новая технология защиты сессий? | |
|
|
|
|
|
|
|
для: tricket
(21.01.2008 в 16:01)
| | сессий или форм? | |
|
|
|
|
|
|
|
для: Loki
(21.01.2008 в 16:47)
| | cессий | |
|
|
|
|
|
|
|
для: tricket
(21.01.2008 в 16:51)
| | Смотря от чего вы ее защищать собрались. | |
|
|
|
|
|
|
|
для: Loki
(21.01.2008 в 16:55)
| | Ладно, так в принципе и не понял про сессии, ну да ладно. Но всеравно последую приведенному примеру с session_id() - мне не помешает.
Возможно Вы мне подскажите, как тогда лучше сделать:
1. Проверять по IP и давать по посылать сообщения не чаще чем (примерно ) через 10 сек? Опять придется тогда тратить дополнительный запрос!
2. Особо не волноваться по этому поводу, т.к. шанс попасть под флуд - невелик?
И вроде данный форум от этого не защищен (хотя не совсем правильно выразился). Поэтому, из-за различных глюков, иногда посылается два одинаковых поста.
Что посоветуете?
Может есть более конструктивные решения? Или возможно на сайте есть какая-нибудь статья, то пожалуйста, выложите ссылку. | |
|
|
|
|
|
|
|
для: Антоха
(21.01.2008 в 17:34)
| | капча | |
|
|
|
|
|
|
|
|
для: mihdan
(21.01.2008 в 18:00)
| | читал это не раз :), честно говоря меня каптча не напрягает :)...
счичтаю например что:
Замена символов двойниками
Изменение имен полей ввода
- затрудняют разработку
Замена надписей картинками с текстом
- вообще бесмысленно без предыдущего
Встраивание полей-приманок
- очень легко обходится | |
|
|
|
|
|
|
|
для: KPETuH
(21.01.2008 в 18:03)
| | Об этом можно долго раговаривать, но, как говориться о вкусах не спорят, сколько народа столько и мнений. Просто привел радикально противоположное вашему мнение, чтобы человек сам мог выбрать. | |
|
|
|