Заработок с сайта Скрипты
создание сайтов раскрутка сайтов поддержка сайтов
статьи справочик

Статьи -> Изучаем PHP -> Система защиты от автоматических регистраций на PHP.

Система защиты от автоматических регистраций на PHP.

Я думаю у вас сразу возник вопрос: что это такое? Ответ: когда вы регистрируетесь где-нибудь вас просят ввести цифры с картинки. Это и есть система защиты от автоматических регистраций. Зачем она нужна? Она нужна для того чтобы на сайте не производилась регистрация программой или скриптом.

Как все это будет работать? Все очень просто! Выводим форму с нужными нам полями и сам рисунок. Создание рисунка немного соложнее. Надо создать изображение, сгенерировать номер, занести его в куку и вывести на рисунок. При обработке формы мы будем проверять совпадение номера из куки и введенного в форме.

Файл index.php:
// Проверяем отправлена ли форма
$action = empty($_POST["number"]) ? false : true;
// Если нет, то выводим ее
if(!$action){
echo "

";
echo "";
echo "\"Введите
";
echo "";
echo "";
} else { // если да, то проверяем код
        // если введены не цифры или цифры и буквы, то выдаем сообщение
        if(!is_numeric($_POST["number"])){
        die("Неправильный формат кода!");
        }
// Проверка на правильность кода
if($_COOKIE['reg_num']!==$_POST["number"]){
        // Если не правильный
        echo "Код не совпадает!";
} else {
        // Если правильный
        echo "Код правильный!";
}
}
?>

Файл genimage.php:
// Сгенерируем номер
$num = rand('111111','999999');
// Запишем номер в куку
setcookie('reg_num', $num);
// Создадим рисунок размером 50x15
$img = imagecreate('50', '15');
// Зададим задний цвет (серый) по RGB
$back = imagecolorallocate($img, 218, 218 ,218);
// Зададим черный цвет
$black = imagecolorallocate($img, 0, 0, 0);
// Рисуем бордюр
imageline($img, 0, 0, 49, 0, $black);
imageline($img, 0, 0, 0, 14 , $black);
imageline($img, 0, 14, 49, 14 , $black);
imageline($img, 49, 0, 49, 14 , $black);
// Рисуем цифры
imagestring($img,3,5,0,$num,$black);
// Выводим рисунок
imagepng($img);
?>

Вот и все! Запускаем файл index.php, вводим цифры. Если есть необходимость добавить поля переправьте форму.

Если Вы заметили какие-либо неточности или ошибки в размещенной информации, просим сообщить о них администрации.