Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Спам как так происходит?

Спам как так происходит?


     31.05.2013    Все вопросы » Ламерские вопросы    2871

вопрос
В общем в поле ввода имени гость максимально может ввести 15 символов, по крайней мере настоящий гость.
<input maxlength="15" type="text" name="name" id="name" value="Гость" onblur="if(this.value == '') {this.value = 'Гость'}" onfocus="if(this.value == 'Гость') {this.value = ''}"/>

Но в комментариях имена выглядят так:
компьютерные стулья = 19 символов
паллето упаковщик = 17 символов
фрезерный шпиндель = 18 символов
Понятно что это спам. Можно ли как то обломать спам программы на ввод таких имен, или придется терпеть?

Ответил: dj-avtosh


Можно начать с хорошей каптчи, и непосредственно в php делать проверку длины. Роботы вряд ли js выполняют у Вас.

2 комментария

Gopr
Юзер

Gopr - 1 июня 2013 01:02 -

Погуглил по поводу проверки длинны на php
Нашлось такое решение:
<?php
$MAX_WORD_LEN=25;
if (ereg("[^ \t\r\n\f]{".$MAX_WORD_LEN.",}", $name)) $error="Слишком длинное слово в имени!";
?>
Можете подсказать в какой файл и после чего вставлять данный код?
Пологаю /engine/modules/addcomments.php либо /engine/ajax/addcomments.php, а может в /engine/inc/comments.php. Но куда именно в какую строку не знаю, да и как к
<input maxlength="15" type="text" name="name" id="name" value="Гость" onblur="if(this.value == '') {this.value = 'Гость'}" onfocus="if(this.value == 'Гость') {this.value = ''}"/>
подключить чтобы работало тоже не знаю :(

dj-avtosh
PHP-developer

dj-avtosh - 1 июня 2013 02:48 -

ereg устаревшая библиотека..

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх