Навигация
   поиск в R3P CallBook
  
  

  Новости

  Требуется Ваша помощь

  История радио

  Callbook 3P

  Who is Who

  3P QSL-бюро

  Справка по дням рождения

  ФотоГалерея

  QSL-галерея

  Дипломные программы

  Справочник по дипломам

  Соревнования

  КВ-раздел

  УКВ-раздел

  Рейтинги R3P

  WEB SDR-приемники

  DX WEB-кластеры

  Для начинающих

  Радио и Закон

  Куплю, продам, обменяю

  Библиотека радиолюбителя

  Статьи

  Обзоры

  Обмен опытом

  Каталог ссылок

  Файловый архив

  Видео архив

  Гостевая книга

  Форум

  Архив голосований

  Контакты




Подписка на рассылку

Подписаться письмом

Просмотр архива рассылок сайта СРТО
Архив рассылки




 Голосования
Наиболее интересные разделы сайта?

   Справочник по дипломам

   Обзоры аппаратуры

   Соревнования

   КВ-раздел

   УКВ-раздел

   Для начинающих

   Обмен опытом

   Видеоархив

   ФотоГалерея

   Другое

   Ничего интересного


 Панель пользователя


Вы вошли как гость
Вы вошли как Гость

Пользователь
Войти в систему
или
зарегистрироваться

 Статистика посещений
Добрый день Добрый день
Всего просмотров: 28392543
Сегодня просмотров: 2921
Посетителей сегодня: 696
Сейчас на сайте Сейчас на сайте -
   4 человека
Зарегистрировано пользователей Зарегистрировано
   пользователей - 349
Последним зарегистрировался на сайте Последним
   зарегистрировался
   на сайте - z31rm
 
Скрипт PHP - Защита от Спам-регистрации


Простейший скрипт на PHP для защиты от Спам-регистрации


На данном примере рассмотрен постейший вариант защиты от Спам-регистраций на сайте.

Допустим, имеется какая то форма для внесения комментариев к публикуемым материалам, где необходимо внести при заполнении:
- Имя написавшего,
- его E-mail
- Сам комментарий

E-mail:
Имя:
Комментрий:




Если при записи в базу данных этого комментария не сделать какую-либо проверку от заполнения её спам-ботами, программами автоматической регистрации, и даже регистрации ручной, но производящей человеком не знающим русского языка, то ваш сайт гарантированно будет наводнен сообщениями, никак не связанными с тематикой вашего сайта.

Простейшим решением будет проверка с помощью дополнительного/контрольного вопроса пользователю, на который он гарантированно знает ответ, но на решение этой задачи спам-роботом или программы автоматической регистрации, а также пользователя не имеющего знаний русского языка, потребуются определенные затраты времени и средств, на которые маловероятно, что кото-то решится.

Предлагается добавить котрольный вопрос со следующими критериями:
- вопрос на математическую тему, т.е. необходимо прочитать задание и сделать простейшие вычисления в уме и внести результат одной цифрой,
- в вопросе должны присутствовать знаки алфавита, не характерные в начертании для англоязычной раскладки клавиатуры. Такие знаки как "мягкий" и "твердый" знаки, буквы Ё, Э, Ю, Й, Б, Г, Д, Ж, Ц, Л, П, Ф, Ш, Щ, Ч, Я значительно затруднят вышеназванным категориям спамеров прочесть и понять задание.

Например: пользователь должен ответить на контрольный вопрос: ВосемЬДесЯт минус семЬ раВно и внести результат цифрой в поле котнрольного ответа. В случае правильного ответа будет выведено сообщение о успешной регистрации комментария и внесения его в базу данных.

E-mail:
Имя:
Комментрий:
Восемьдесят минус семь равно ? (число цифрой)





Вариант решения показан на листинге программы написанной на PHP

print"
<table width="100%" border="0">
<tr>
<td>
<div align="center">
<form  method="post">
<div align=center>
<table width="100%" border="0">
<div align="center">
<tr>
<td width="15%">E-mail:*</td>
<td width="85%">
<input type="text" name="mail">
</td>
</tr></div>
<tr>
<td width="15%">Имя:*</td>
<td width="85%">
<input type="text" name="username">
</td>
</tr>
<tr>
<td width="15%\">Комментрий:*</td>
<td width=\"85%\" valign=\"top\">
<textarea name=\"msg\" cols=\"40\" rows=\"10\"></textarea>
</td>
</tr>
<tr>
<td width=\"15%\"> Восемьдесят минус семь равно ? (число цифрой)* </td>
<td width=\"85%\">
<input type=\"text\" name=\"plusminus\">
</td>
</tr>
<tr>
<td width=\"15%\"> </td>
<td width=\"85%\">
<input type=\"submit\" name=\"submit\" value=\"Написать!\">
</td>
</tr>
</div>
</table>
</form>
<div align=left>
</font><BR></div><BR>
</div>
</td>
</tr>
</table>
";
///// Проверка на правильность ввода проверочного значения
$plusminus = htmlspecialchars($plusminus);
$plusminus=preg_replace('~:+~', '',$plusminus);
if ($plusminus <> "73") { /// 73 - верный ответ
/// пометить, что код введен неправильно, если не равен 73
 $er = 1 ;
 }
/// Проверка,
/// если код введен верно,
/// и заполнено поле комментария, то выполнить
/// вывод о успешной проверке и последующее
/// внесение комментария в базу данных
if(isset($submit) and $er=="")
{
print"Проверка пройдена, благодарим за Ваш комментарий !";
/// здесь код на PHP для внесения
/// комментария в базу данных сайта
}
//// а иначе обрабатывать код PHP дальше



Данный пример показывает наиболее простое решение проблемы борьбы со Спамом, правда оно не дает сто процентной гарантии защиты от автоматических и ручных регистраций, но существенно снижает количество нежелательных регистраций, сообщений на сайте.
Так же можно в данном примере изменить ввод результата математического выражения на текстовый вопрос/ответ (например: на Вопрос - Дополнить: ....-палки, лес густой должен быть Ответ: ёлки, при этом иностранный спамер не сможет ввести букву Ё в ответе на своем компьютере (у него её нет)!)
В случае, если активность спамеров при наличии данной защиты после перерыва вновь возрастет, необходимо сменить контрольную фразу и ответ. Делать это желательно периодически - хотя бы раз в полгода/год.
Более сложные для спамеров системы проверок при регистрации и внесении комментариев на радиолюбительских сайтах мы рассмотрем в следующей серии статей.



http://vkusnoblog.net/products/kofe




Радиолюбительские SDR-online приемники в Европе Статьи Раздел
"Обзоры"
Архив рассылки сайта Для начинающих



 Партнеры

   г.Ефремов

   г.Тула

радио клуб «Сармат»

ОПМД Георгиевцы!

 



award «EFREMOV-380»


 Russian VHF club
 Карта сайта
 




Лучшая система размещения статей




При перепечатке материалов с сайта, ссылка на сайт и источник обязательна.
© 2002-2018 СРТО


  Статистика сайта