Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » защита от спасма

Ответить
Настройки темы
защита от спасма

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Народ!создал форму обратной связи,но вот нужна защита от спама типа картинки с номерами.помогите реализовать....

Отправлено: 01:47, 01-07-2008

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


imho в форме обратной связи оно и не нужно

Отправлено: 09:45, 01-07-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


почему?там заполняется форма имя мэйл вопрос и отправляется на мэйл человека!так спама много будет

Отправлено: 10:29, 01-07-2008 | #3


Аватара для BASSON_XVI

Пользователь


Сообщения: 102
Благодарности: 8

Профиль | Отправить PM | Цитировать


эмм.. НУ rand вам в руки, пару шрифтов и GD либа для работы с изображениями... и будет вам форма защиты от спама...

-------
http://img.userbars.pl/126/25043.png


Отправлено: 14:18, 01-07-2008 | #4


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


BASSON_XVI, Busla, было бы все так просто сделал бы.....поэтому и прошу помощи,отправку сообщений на мэйл еще осилил с горем пополам,а это наврядли.Может кто помочь?

Отправлено: 14:39, 01-07-2008 | #5


Аватара для BASSON_XVI

Пользователь


Сообщения: 102
Благодарности: 8

Профиль | Отправить PM | Цитировать


arrancar, А ты думаешь проще когда за тебя кто то напишет код? Прочитай что такое rand что такое массивы я думаю ты знаешь.... Прочитай про библиотеку GD и генерацию изображений.
Теперь говорю как бы я осуществил защиту от спама:
Делаю 2 массива. В один вбиваю цифры от 0 до 9, во второй вбиваю англ. алфавит.
Дальше в цикле я генерю последовательность символов с помощью цикла и функции rand.
Примерно так:
PHP код: Выделить весь код

for($i=0;$i<3;$i++)
{
$t rand(0,25);
$d rand(0,9);
$str_spam $arr_number{$d].$arr_letter[$t];


Ну а дальше с помощью GD нужно просто сделать картинку с буквами из $str_spam и создать поле ввода для кода и одно скрытое поле для передачи этого кода. Когда юзер все заполнить и отправит сделать проверку если сходиться то что вел юзер с тем тчо было в скрытом поле то отправляем почту если нет то пишет что нет.

-------
http://img.userbars.pl/126/25043.png


Отправлено: 15:06, 01-07-2008 | #6


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


BASSON_XVI, дельно спасибо

Отправлено: 15:31, 01-07-2008 | #7


Аватара для BASSON_XVI

Пользователь


Сообщения: 102
Благодарности: 8

Профиль | Отправить PM | Цитировать


arrancar, }{ы ага если какие проблемы с Гд будут пиши...
Хы вместо спасибо мне гораздо приятней получить + "Полезное сообщение". Но и спасибке я тоже рад )

-------
http://img.userbars.pl/126/25043.png


Отправлено: 16:01, 01-07-2008 | #8


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код:
<?PHP

$config_max_digits="4";


if ($QUERY_STRING=="")
{
// session id
$sid=session_id();
if(!$sid){
session_start();
$sid=session_id();
}

$gen_code = "";
for($i=0; $i<$config_max_digits;$i++) $gen_code = $gen_code.rand(0,9);


$HTTP_SESSION_VARS["noautomationcode"] = $gen_code;


echo ("
<img src='showcode.php?sid=$sid'>
<form action='?begin' method='post'>
<input type='hidden' name='sid' value='$sid'>

<input type='text' name='code'>
<input type='Submit' name='Submit'>
</form>");
}

if ($QUERY_STRING == "begin")
{
session_start();
$gen_code = $HTTP_SESSION_VARS["noautomationcode"];

if ($code == $gen_code)
{
echo "Защищеные данные";
}else{
echo "<b>Код не верный</b><br />Повторите попытку<br />";
echo ("<img src='showcode.php?sid=$sid'><form action='?begin' method='post'><input type='hidden' name='sid' value='$sid'><input type='text' name='code'><input type='Submit' name='Submit'></form>");
}

}

?>





showcode.php

Код:
<?PHP


$img_x="40";
$img_y="20";
$font_size=5;

$sid=trim($HTTP_GET_VARS["sid"]);

session_id($sid);
session_start();
$gen_code = $HTTP_SESSION_VARS["noautomationcode"];

$img = imagecreate ($img_x,$img_y);
$background_color = imagecolorallocate ($img, 255, 255, 255);

$f_x = imagefontwidth ( $font_size );
$f_y = imagefontheight ( $font_size );


$x = ($img_x - strlen($gen_code) * $f_x )/2;
$y = ($img_y - $f_y) / 2;

$color = imagecolorallocate($img,000,000,000);






$dc = ImageColorAllocate($img, rand(0,255), rand(0,255), rand(0,255));
ImageRectangle($img, rand(0, $img_x/2 ), rand(0, $img_y/2 ), rand($img_x / 2, $img_x) ,rand($img_y / 2, $img_y), $dc);

$dc = ImageColorAllocate($img, rand(0,255), rand(0,255), rand(0,255));
ImageRectangle($img, rand(0, $img_x/2 ), rand(0, $img_y/2 ), rand($img_x / 2, $img_x) ,rand($img_y / 2, $img_y), $dc);

imagestring ( $img, $font_size, $x, $y, $gen_code, $color);


for($i = $img_x * $img_y / 10; $i >= 0;$i--)
{
ImageSetPixel($img, rand(0,$img_x), rand(0,$img_y), ImageColorAllocate($img, rand(0,255), rand(0,255), rand(0,255)));
}


header("Content-Type:image/gif");
imagegif($img);

?>



выдает ошибку такую вот:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/tu2.ru/d/de/despirado/htdocs/www/index.php:11) in /home/tu2.ru/d/de/despirado/htdocs/www/index.php on line 42

это в первом скрипте,а еще не отображает картинку

Отправлено: 19:23, 01-07-2008 | #9


Аватара для BASSON_XVI

Пользователь


Сообщения: 102
Благодарности: 8

Профиль | Отправить PM | Цитировать


ну дык а ты что хош вынеси на самый верх страницы session_start(); и все будет окей.

-------
http://img.userbars.pl/126/25043.png


Отправлено: 19:43, 01-07-2008 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » защита от спасма

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Mandriva/Mandrake - защита Pureftpd admin666 Общий по Linux 3 14-09-2009 19:58
Защита ПК jmt4 Защита компьютерных систем 6 28-06-2007 22:32
Защита BIOSа Black Tiger Защита компьютерных систем 6 25-04-2005 10:47
Защита ПК FolD Защита компьютерных систем 5 25-01-2005 06:30
Защита esaul Microsoft Windows 95/98/Me (архив) 3 31-07-2002 17:00




 
Переход