Як захиститись від спам роботів на сайті

В даній статті буду описувати з власної практики як я закривав свій сайт від спам-роботів.

І так написав я сайт. Все було чудово, але з часом я помітив що він є якимось не живим. Добавив чат, в ньому була звичайна форма із полями name і text і кнопочка Submit. Все нормально залив на сервер і через кілька днів в мене зявилось якесь повідомлення сумнівного змісту. Ну я зайшов через ftp і видалив його. І думав що забув про цю проблему.

Кілька днів не заходив на сервер, а коли заглянув просто обалдів. Шість повідомлень на англійській мові із кучую посилань на усілякі сайти. Знову удалив. І кожного дня вже видаляв по 3-8 повідомлень із сайту.

Вирішив я переписати форму, добавив капчу, разом із повідомленням потрібно було вводити суму двох цифр. І близько трьох тижнів я забув про спамерів. Думав збувся.

Але не тут то було. З'явились розумніші роботи, і перевірка сумою цифр не допомогла тому що там получається так: якщо відправляти дані форми із скритим полем в якому вказувати числа, за допомогою яких можна розшифрувати яке число-капчу мало було бути введено в форму і поле із правильними цифрами, можна надсилати повідомлення з різним текстом але з однією і тією ж капчою.

Що я зробив далі? Я затруднив задачу ботам. В мене форма відправляє дані в окремий php-файл той перевіряє форму і якщо все правильно записує повідомлення в текстовий файл, а потім переадресовує користувача на сторінку з якої була відправлена ця форма. Далі я замінив параметр action у формі для чату, а саме виніс його в javascript. Получилось ось таке:

<form id="chat_forma" action="#" method="post" enctype="application/x-www-form-urlencoded"><br />
<script><br />
getElementById('chat_forma').action='http://www.vashkivtsi.com/chat/incl/q_chat.php';<br />
</script>
# і тут також текстові поля чата
</form>

Тобто навіть якщо роботи бачать мою форму і вони знаходяться нас сторінці http://www.vashkivtsi.com/blog/spam-bots.html то теоретично вони мають послати форму на цю ж сторінку, а насправді форма знаходиться зовсім на іншій окремій сторінці. В реальних користувачів, в яких зазвичай 99.99% включений авасприпт спрацює скриптик який у цій формі змінить значення action на правильне і живі люди відправлять своє повідомлення в чат.

Протестую що буде далі і розповім. бо наступна ідея ще більш потужніша. Обновлення через кілька днів.


18.11.2012 23:35
Також цікавить ця тема. Дякую за статтю, спробую зараз на своєму сайті.
Відповісти
© 2010-2024   Андрій Перепелиця

На верх