Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Защита от заполнения
 
 автор: stacey campbell   (13.11.2006 в 11:30)   письмо автору
 
 

Как защитить форму от заполнения с других сайтов или от заполнения рекламными ботами??
Имеется гостевая книга, в которую регулярно попадают сообщения рекламного характера, причем своим видом они портят все. Как избавить гостевую книгу от их поступления? Гстевая книга на файлах.

   
 
 автор: AtomicBlast   (13.11.2006 в 12:05)
 
   для: stacey campbell   (13.11.2006 в 11:30)
 

Может, это поможет - http://www.softtime.ru/info/randomimage.php

   
 
 автор: stacey campbell   (16.11.2006 в 16:42)   письмо автору
 
   для: AtomicBlast   (13.11.2006 в 12:05)
 

Нифига у меня не выходит с этим скриптом. Ошибка вот такенная вылезает:
Fatal error: Call to undefined function: imagecreatetruecolor() in /usr/local/apache2/htdocs/6/index.php on line 51
Похоже на то, что не подключены функции для работы с графикой. И разбираться с этим некогда.

Есть другая идея, подглянула ее в другом скрипте. Идея примерно такая же, но только графика не используется, просто генерируется случайная комбинация т.о.:
$_SESSION['secc'] = strtoupper(substr(md5(time()),0,4));


А в форме для заполнения вводится дополнительное поле, в котором пользователю предлагается ввести сгенерированный секретный код. И полю этому присваивается соответствующее имя, т.е. получаем еще одну переменную - vsecc.

Затем, необходимо сравнить полученный переменные. Делаю это так:
if ($vsecc != $_SESSION['secc'])
    {
                          //здесь еще должна быть очистка полей формы
         echo "Секретный код введен некорректно!\n";
    }


Вот только не могу понять куда ее затолкать. В цикле, в котором проверяются и записываются в файлы данные, она не работает. А вне цикла работает некорректно - можно набрать любую 4-х значную комбинацию и сообщение попадает в гостевую.

Куда мне ее затолкать, подскажите, пожалуйста!!!!! Использую гостевую с вашего сайта (на файлах).

   
 
 автор: cheops   (13.11.2006 в 12:29)   письмо автору
 
   для: stacey campbell   (13.11.2006 в 11:30)
 

Вводят ли "нормальные" посетители у вас URL в теле сообщений? Или только спамеры?

   
 
 автор: stacey campbell   (13.11.2006 в 12:57)   письмо автору
 
   для: cheops   (13.11.2006 в 12:29)
 

Имеются следующие поля:
Имя, e-mail, url, сообщение
Вообще подразумевалось, что свой url пользователь будет вводить в отведнное для него поле. Нормальные так и делают, а спамеры забивают своими ссылками все поля.

   
 
 автор: Trianon   (13.11.2006 в 13:05)   письмо автору
 
   для: stacey campbell   (13.11.2006 в 12:57)
 

А У Вас URL вводится в отдельном поле формы? И спам тоже с этим полем идет?
Тогда, возможно, проверку картинки имеет смысл сделать для сообщений с заполненным URL.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования