Борьба со спамом
Доброго времени суток, уважаемые посетители и читатели моего блога!
Сегодня речь пойдет о такой распространенной теме как борьба со спамом. Пока моя доча спит, я решил написать небольшую статейку. Во время написания статьи меня вдохновляет музыка в исполнении коллектива из Финляндии Dark The Suns. Они исполняют мелодичный и атмосфеный gothic metal. Кому интересно данное направление — можете посмотреть клипы на YouTube. А мне очень нравится — советую так сказать))).
Ну а теперь к делу, пока дочка спит а я строчу по клавишам, создавая небольшой шум в комнате!
Насколько я понимаю, я не единственный наверное кого заколебал спам, существует много способов борьбы с ним. Чаще всего ставят капчу, это обычно картинка с цифрами которые нужно ввести в поле для подтверждения того что вы не бот, иногда ставят просто галочку которую нужно выбрать, существует еще куча извращенных способов суть которых одна, добавление лишнего поля. Но как же быть если я не хочу добавлять лишнего поля в форму, хочу оставить все как есть и так избавиться от спама? Предлагаю поставить проверку на включенность Javascript‘a. Сделать это очень даже легко на PHP, если конечно ваш хостинг включил поддержку функции get_browser():
function workjscript(){ $brows = get_browser(); if($brows[javascript]){ return true; //то есть выводим форму } retunr false; //javascript не включен форму не выводим }
Но а если get_browser() не поддерживается вашим хостингом также как и у меня, можно сделать попроще, просто выводить одно из обязательных полей через Javascritpt. В итоге без Javascript‘a пользователь, спам бот или кто еще пофигу будет получать форму без одного обязательного поля и не сможет отправить форму. Ну на примере wordpress для комментариев можно передать в качестве поля имени автора следующее:
'author' => '<div class="first_inputs"> <span id="authorplace"></span> <script type="text/javascript"> $(document).ready(function(){ $("#authorplace").html("\ <input class=\"cm_name\" placeholder=\"Имя\" id=\"author\" name=\"author\" type=\"text\" value=\"'.esc_attr( $commenter['comment_author'] ) . '\"' . $aria_req . ' />\ "); }); </script>',
На этом буду заканчивать! Успешной борьбы со спамом!
С вами был — ваш Юрич!