|
|
|
Спам
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуста с такой проблемой. Вот код страницы: <!-- INCLUDE BLOCK : header --> <br> <b><font size=+1>{guestbook_name}</font></b> <br> {guestbook_desc} <br> <br><a href="#add_message">Добавить сообщение</a><br> <BR> У вас нет права просматривать эту гостевую книгу <table cellpadding=0 cellspacing=0 border=0> <tr> <td> </td> <td> <a name="g{gentry_id}"> Автор: <a href="mailto:{gentry_author_mail}"><b>{gentry_author}</b></a> Автор: <b>{gentry_author}</b> </td> <td align="right">{gentry_date}</td> </tr> <tr> <td></td> <td colspan="2"><br>{gentry_text} <br><br> <blockquote> <b>Ответ:</b><br><br> {gentry_answer}<br><br> </blockquote> </td> </tr> <tr> <td></td> <td colspan=2><hr size=1></td> </tr> </table><br><br><br> <p>Спасибо! Ваше сообщение отправлено.</p> <a name="add_message"> <b>Новое сообщение</b><br> <table> <script language="JavaScript"> function check_gentry_form(form) { if (form.hiddenbutton.value != '') { return false; } if (form.textfield.value != '6') { alert ('Не правильный ответ'); return false; } if (form.gentry_author.value == '') { alert ('Введите ваше имя'); return false; } if (form.gentry_text.value == '') { alert ('Введите сообщение'); return false; } return true; } </script> <form action="/{rubric_full_path}?gaction=add&gfrom={guestbook_id}" method="post" onSubmit="return check_gentry_form(this);"> <tr> <td>Автор:</td> <td align="right"><input name="gentry_author" value="{gentry_author}"></td> </tr> <tr> <td>E-mail:</td> <td align="right"><textarea name="textarea" cols="38" rows="10"></textarea> <input name="gentry_author_mail" value="{gentry_author_mail}"></td> </tr> <tr> <td colspan="2">Сообщение:</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"> Введите правильный ответ: 2+2*2: <label for="textfield"></label> <input name="textfield" type="text" id="textfield" size="8"> <br><input type="submit" value="Отправить"><input name="hiddenbutton" type="hidden" value=""> </td> </tr> </form> <script language="JavaScript"> function check_gentry_form(form) { if (form.hiddenbutton.value != '') { return false; } if (form.textfield.value != '6') { alert ('Не правильный ответ'); return false; } if (form.gentry_text.value == '') { alert ('Введите сообщение'); return false; } return true; } </script> <form action="/{rubric_full_path}?gaction=add&gfrom={guestbook_id}" method="post" onSubmit="return check_gentry_form(this);"> <tr> <td>Автор: </td> <td width=100%><b>{curuser.user_name}</b></td> </tr> <tr> <td>E-mail: </td> <td width=100%><b>{curuser.user_mail}</b></td> </tr> <tr> <tr> <td colspan="2">Сообщение:</td> </tr> <tr> <td colspan="2"> <textarea name="gentry_text" cols="38" rows="10"></textarea> </td> </tr> <tr> <td colspan="2"> Введите правильный ответ: 2+2*2: <label for="textfield"></label> <input name="textfield" type="text" id="textfield" size="8"> <br><input type="submit" value="Отправить"><input name="hiddenbutton" type="hidden" value=""> </td> </tr> </form> </td></tr></table> <!-- INCLUDE BLOCK : footer --> Почему то идет сплошной спам. Вот страница с примером: www .tdrodnik .ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 14:59 |
|
||
|
Спам
|
|||
|---|---|---|---|
|
#18+
> Вот код страницы: > Вот страница с примером: www .tdrodnik .ru Что то не видно сходства > Почему то идет сплошной спам. Проверки и прочий антиспам нужно делать на сервере. На клиенте это защита только от "порядочного" пользователя. Смотрите принимающий скрипт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 17:02 |
|
||
|
Спам
|
|||
|---|---|---|---|
|
#18+
vkle> Вот код страницы: > Вот страница с примером: www .tdrodnik .ru Что то не видно сходства > Почему то идет сплошной спам. Проверки и прочий антиспам нужно делать на сервере. На клиенте это защита только от "порядочного" пользователя. Смотрите принимающий скрипт. Вот точнее страница www .tdrodnik .ru/publ/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2008, 07:25 |
|
||
|
Спам
|
|||
|---|---|---|---|
|
#18+
Вот другой вопрос сразу возник. Как мне по условию IF ... ELSE ... сделать вхождение в строку, чтобы у меня еще внутри поля смотрел значение на определенные слова и по ним блокировал ввод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2008, 08:35 |
|
||
|
Спам
|
|||
|---|---|---|---|
|
#18+
Антимат чтоль? Это тож на сервере проверять/резать... И вот почему. Есть одно маленькое правило: спамеры-флудеры обычно обходят все защиты на клиенте потому что передают данные прямо на сервер. Принцип простой. Получить форму, найти в ней имена полей, сформировать и отправить POST запрос с этими именами полей. Все. Никаких исполнений жабаскрипта не предусмотрено. Подозреваю, что и занимается этим не браузер, а набор скриптов. Поэтому алгоритм по спаму примерно такой: а) при отдаче формы - стартуем сессию - формируем секретный код и сохраняем его в сессии - отдаем форму б) при получении данных - стартуем сессию - проверяем наличие кода от клиента - сравниваем секретный код из сессии с полученным от клиента - по результатам двух проверок либо идем обрабатывать полученные данные формы и удаляем код из сессии, либо отсылаем заполненную форму клиенту обратно, "на доработку" С антиматом и проще и сложней. Просто - проверить наличие в сообщении последовательностей символов из стоп-листа. Осложняют две проблемы: 1. эти последовательности содержатся так же в "белых" словах и 2. слишком много вариантов замены одного символа другим(и), не говоря уже о написании слов через точку, нижнее подчеркивание и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2008, 10:40 |
|
||
|
Спам
|
|||
|---|---|---|---|
|
#18+
Может у кого какие наработки имеются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2008, 14:13 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1456157]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 331ms |

| 0 / 0 |
