Борьба со спамом

1-05-2011

Я не единственный наверное кого заколебал спам, существует много способов борьбы с ним. Чаще всего ставят капчу, это обычно картинка с цифрами которые нужно ввести в поле для подтверждения того что вы не бот, иногда ставят просто галочку которую нужно выбрать, существует еще куча извращенных способов суть которых одна, добавление лишнего поля. Но как же быть если я не хочу добавлять лишнего поля в форму, хочу оставить все как есть и так избавиться от спама? Предлагаю поставить проверку на включенность Javascripta. Сделать это очень даже легко на PHP, если конечно ваш хостинг включил поддержку функции get_browser():

function workjscript(){
     $brows = get_browser();
     if($brows[javascript]){
         return true;  //то есть выводим форму
     }
     retunr false; //javascript не включен форму не выводим
}

Но а если get_browser() не поддерживается вашм хостингом также как и у меня, можно сделать попроще, просто выводить одно из обязательных полей через Javascritpt. В итоге без Javascripta пользователь, спам бот или кто еще пофигу будет получать форму без одного обязательного поля и не сможет отправить форму. Ну на примере 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>',

Хороший ресурс для тестирования сайта

Monex5.14.2011 05:05
Theyre made possible by a data format called and and and a little bit of JavaScript. You can also do it purely in PHP server-side without JavaScript but Ill show you why that might not be the best idea...As they say in G.I.
Bubb11.14.2012 01:11
Комментарий выше доказывает что все легко обходится. Мы когда одну форму заказа закрывали. делали проверку на заполнение скрытого поля, язык ввода и по спам базе проверку. Лишь когда все три заработали условия тогда поток спама пропал.
ОСТАВИТЬ КОММЕНТАРИЙ