Фев 27

imagesJSantispam WP edition - это плагин для WordPres предназначенный для борьбы со спамом в комментариях. Он позволяет добавлять сообщения пользователям, не требую от них никаких дополнительных действий, при этом значительно усложняет жизнь ботам.  Для тог чтобы пользователь мог оставлять комментарии  у него в браузере должна быть включена поддержка JavScript. Также требуется php5 на сервере.
C алгоритмом примененным в данной защите можно ознакомиться ТУТ

Установка максимальна проста:

  1. Скачайте и распакуйте архив
  2. загрузите плагин на сервер
  3. Активируйте его в админпанели

Готово! Никаких дополнительных настроек не требуется.

Внимание! Данный плагин предназначен для защиты от спама рассылаемого РОБОТАМИ а не долбаебами. Если вы в ручную добавляете какойто безсмысленный комент, и он проходит это не значит что плагин не работает!

Скачать JSantispam WP edition v1.1

written by admin \\ tags: , , , , ,

Янв 20

Сейчас при стремительном развитие Интернета очень остро стоит проблема спама/флуда и прочих видов нежелательных сообщений, в результате этого даже на самых простых гостевых книгах/формах стоят капчи, что в большинстве случаев очень напрягает тем более что угадывать значение получается не всегда с первого раза.
Идея защиты от спама средствами JavaScript состоит в следующем:

  1. На страницу в форму добавляем скрытое поле с определенным именем и ID
  2. средствами php генерируем уникальный ключ, генерируем JS скрипт который будет присваивать значение этого ключа скрытому полю по его ID
  3. Производим абфускацию JS кода, и выполняем его в браузере пользователя.
    (Абфускация кода нужна для того чтобы ключ не выводился на странице в открытом виде, а получался в результате выполнения скрипта)
  4. При субмите формы проверяем значение скрытого поля, и сгенерированного ключ, если значения совпадают значит все OK.

Такая схема не требует от пользователя никаких действий, у него всего лиш должен быть включен JavaScript, а вот спамерам жизнь затруднит. Конечно значение ключа можно выдрать из DOM и пройти проверку, НО для этого необходимо выполнить JS код средствами спамера , т.к. это не линейная задача (не для PHP) 90% быдло-кодеров с этим не справятся;)

Скриптов по обфускации JS довольно много (я использовал Dean Edwards JavaScript Packer) поэтому задача свелась к написанию функции генератора кода и функции проверки ключа.

array gen_js_key()

Функция для генерация ключа и кода.  Возвращает ассоциативный массив, значение ключа сохраняет в $_SESSION['js_key']

Ключи возврашаемого массива:

[js_key] - униальный ключ

[input] - скрытое поле с уникальным именем и id

[js] - абфусцированный JS код для ыполнения на стороне юзера

bool check_js_key()

Проеряет ключ. Нужно вызывать после субмита формы.

Пимер использования:

<? 
	include('JavaScriptCaptcha.php');
 
	if(!empty($_POST['knopka']))
	{
		if(check_js_key())
			echo 'вы ввели <b>'.htmlspecialchars($_POST['txt']).'</b><br>';
		else 
			echo 'Ключ не подходит<br>';
	}
 
?>
<div id="testjs">
	<h1><b>JavaScript отключен! включите..</b></h1>
</div>
<body OnLoad="JavaScript:window.document.getElementById('testjs').style.display = 'none'">
<form method=post>
	<input type=text name=txt>
<?
	$r = gen_js_key();
	echo $r['input'];
?>
<input type=submit name=knopka>
</form>
<script type="text/javascript">
	<?=$r['js']?>
</script>

Скачать JScaptcha.rar v1.1

В архиве 3и файла:
class.JavaScriptPacker.php – класс обйускации JS
JavaScriptCaptcha.php – файл с необходимыми функциями для генерации и проверки кода
Index.php – пример использования


written by admin \\ tags: , , ,