|
|||||
|
|
wm-help.net -> Статьи веб-мастера -> Защита сайта с PHP -> Защита сайта от спамеров с использованием PHP. Практическое применение кода подтверждения с картинки.Защита сайта от спамеров с использованием PHP. Практическое применение кода подтверждения с картинки.
Автор: Беляев Александр
Сайт Автора: wm-help.net
E-mail Автора: admin@wm-help.net
Дата написания: 26.10.2006
В настоящее время множество хороших сайтов страдает от огромного потока рекламных объявлений или просто спама, который не добросовестные пользователи интернета пытаются расположить везде, где только это возможно: в гостевых книгах, форумах, каталогах и везде, где только можно оставить пару строк своего текста. Основным методом борьбы с явлением такого вида спама является создание всевозможных проверок на человечность, т.е. определения, кто вводил данные в форму, человек или программа. К таким проверкам можно отнести:
Несмотря на столь значительный список методов борьбы со спамом, применяют обычно только первый пункт, т.е. используют изображение с текстом или цифрами. Алгоритм сверки данных в этом случае осуществляется несколькими способами:
Нами будет рассмотрен самый простой способ борьбы со спамерами, т.е. цифровой код нанесенный на картинку, состоящий из перемешанной текущей даты. Такой код подтверждения будет действителен менее десяти минут, с момента его генерации. Он будет нанесен на картинку, причем каждый раз код будет разный, в разных местах картинки, под разным углом, на разном фоне и написан различными шрифтами. Для начала определимся, что именно мы будем использовать из даты, предлагаю использовать текущие: день недели, месяц, число, час, минуты (первую цифру) и день в году. На мой взгляд, это, неприступная защита для простых программ-регистраторов или их авторов, т.к. точно определить какие значения из даты используются для генерации кода подтверждения практически невозможно. Но если вам и этого окажется мало, то можно перемножить или сложить все значения, или для каждого дня недели использовать свой алгоритм вычисления, все зависит только от вашей фантазии. И так, начнем писать наш php-код, а то я уж слишком сильно углубился в теоретическую часть вопроса. Создаем новый php-файл и для начала напишем в нем функцию, которая будет "придумывать" код подтверждения из текущей даты, выглядеть она будет примерно так: function generate_code()
Теперь, когда у нас уже готова функция для генерации цифрового кода подтверждения, можно написать функцию для генерации этого кода на изображении взятом из файла, а затем вывод получившейся картинки с кодом подтверждения в браузер. Выглядит эта функция так: function img_code() Для того, что бы все работало, в начале php-скрипта пишем:
define("code_dir", "my_codegen/"); , а в конце img_code(); Затем создаете папку my_codegen в той директории, в которой расположен php-скрипт – генератор изображений с кодом подтверждения, и создаете codegen.png и codegen0.png в Photoshope или другом графическом редакторе, копируете туда шрифты TrueType с именами Kiloton.ttf и 04B_24__.TTF. Все на этом генератор картинок завершен. Теперь нам нужна функция для проверки введенных данных, она будет реализована по тому же принципу что и generate_code, ее нужно поместить в отдельный php-скрипт, который будет осуществлять проверку введенных данных:
function chec_code($code) В этот же файл, в конец добавьте функцию generate_code() И в заключении примерная схема реализации:
Скачать данный php-скрипт защиты сайтов от спамеров с помощью изображения с кодом подтверждения можно здесь (http://wm-help.net/download/codegen.zip). В архиве есть пример с наглядной реализацией данного метода борьбы со спамерскими программами. ![]() В случае не выполнения данных правил, возможно применение «особых» мер, к нарушителям. Другие статьи из раздела "Защита сайта с PHP"
![]() ![]() ![]() ![]() |
| Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2018. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.008 |