|
|
|
|
|
для: Futurer
(01.08.2007 в 13:59)
| | Вам очень повезло с ботами. | |
|
|
|
|
|
|
|
для: Unkind
(01.08.2007 в 13:53)
| | Вообще у меня как-то была проблема с ботами. Решилась очень просто. После загрузки страницы скриптом в форму вставляется скрытое поле с ключём случайно выбранным из 10 штук (набор из ключей известен и заранее определён). При получении данных от формы просто проверяем ключ на наличие, а потом уже сверяем на совпадение, если он есть. Таким образом без тела сайта форма не работает. | |
|
|
|
|
|
|
|
для: Futurer
(01.08.2007 в 13:44)
| | IP думаю да, а UA вряд ли. И вообще, разве есть у бота UserAgent.
Всё как раз абсолютно наоборот. Практически все боты под User-Agent'ами известных браузеров.
Это всего лишь HTTP-заголовок.
IP фактически можно сменить, только используя прокси. | |
|
|
|
|
|
|
|
для: neudor
(01.08.2007 в 10:07)
| | Возможно вы и правы. А если оперировать параметрами UserAgent и IP. Бот разве сможет их менять. IP думаю да, а UA вряд ли. И вообще, разве есть у бота UserAgent. | |
|
|
|
|
|
|
|
для: Futurer
(01.08.2007 в 13:32)
| | Futurer, антифлад? Чисто сам факт того, что имена полей могут быть нестандартными, может защитить от тупых ботов, которые отправляют данные по именам полей вроде username, message и проч. Но не более.
А нормальному боту абсолютно ничего не мешает взять именая полей, как нормальному браузеру и посылать её. Тем более некоторые боты используют движки браузеров. | |
|
|
|
|
|
|
|
для: neudor
(01.08.2007 в 10:07)
| | В продолжение темы появилась мысль. А почему бы не создавать в форме каждый раз поля с разными именами. А по пришествии переменных в скрипт php проверять их на соответствие определённому хитрому шаблону. Либо просто создавать и хранить в базе временные записи с названиями полей формы а потом сверять. Это подходит только для формы авторизации или отправки сообщений, другое думаю не стоит таких заморочек. | |
|
|
|
|
|
|
|
для: neudor
(01.08.2007 в 10:07)
| | От sql-inj есть один просто шикарный метод защиты. Заключатся он в использовании placeholder'ов.
Да это не метод защиты, а способ получения данных.
Можете поэкспериментировать.
Интересно как? :)
В такую штуку вам ну никак не удастся впихнуть инжекшн.
Откуда мы знаем что в классе, который Вы используете? Может можно. | |
|
|
|
|
|
|
|
для: Binura
(01.08.2007 в 11:06)
| | >кто что думает об этом?
Свое мнение по этому вопросу я выражать уже устал, ей-богу.
Последний раз в соседней ветви.
http://softtime.ru/forum/read.php?id_forum=1&id_theme=41343 | |
|
|
|
|
|
|
|
для: Binura
(01.08.2007 в 11:06)
| | $proverka = array('POST','htmlspecialchars','stripslashes','nl2br');
Что Вы хотите проверить, изменив строку?
Не надо этой ерундой маятся. На самом деле выйдет гораздо хуже и тяжелее для проверки. К тому же медленнее. А смысл, я так понимаю, легко и просто обработать переменные. А так не выйдет, следовательно лучше не продолжать. | |
|
|
|
|
|
|
|
для: neudor
(01.08.2007 в 10:07)
| | мда-а-а. серьезные вещи... =)
я еще классы совсем не знаю . . .
давайте сделаем простую функцию.
я предлогала уже, что то такое.
и так, моя идея:
на каждой страничке:
1) создаем массив переменных, которые должны прийти.
$massiv = array('name','msg');
таким образом, скрипт будет работать только с необходимыми переменными.
2) создаем массив по типу проверки.
$proverka = array('POST','htmlspecialchars','stripslashes','nl2br');
таким образом, функция выполнит эти функции. т.е. примет методом пост, заменит \ n на <br> и т.д.
3) вызываем функцию, и отправлем 2 массива.
создаем функцию:
тут уже ставим условия от проверочного массива...
т.е. какую проверку необходимо произвести...
кто что думает об этом? | |
|
|
|
|