SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Контакт форма слагане на CAPTCHA

Windboy

New member
От около 3 години ползвам една контакт форма, която ми върши работа. Но последните 2-3 месеца почнаха да валят спамове в емайла към които препраща контакт формата, а досега там не бях получавал спам съобщения. Някои може ли да ми помогне с кода за добавяне на CAPTCHA. Ето целия код на контакт формата:

Код:
<?php
$self = $_SERVER['PHP_SELF'];
$ime = $_POST['ime'];
$email = $_POST['email'];
$komentar = $_POST['komentar'];
$izprateno = $_POST['izprateno'];
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$self = $_SERVER['PHP_SELF'];

$form ="<br><form action=\"$self\" method=\"post\">";
$form.=" › Име: <input type=\"text\" name=\"ime\"";
$form.=" size=\"20\" value=\"$ime\" style=\"background-color: #000000;color: #ffffff;border: 1px solid #e0a645;\"><br/>";
$form.=" › Email: <input type=\"text\" name=\"email\"";
$form.=" size=\"20\" value=\"$email\" style=\"background-color: #000000;color: #ffffff;border: 1px solid #e0a645;\"><br/><br/>";
$form.=" › Коментар:   <textarea name=\"komentar\" cols=\"35\" rows=\"20\" style=\"background-color: #000000;color: #ffffff;border: 1px solid #e0a645;\">";
$form.="$komentar</textarea><br><br/>";
$form.=" › <input type=\"submit\" name=\"izprateno\" value=\"Изпрати\" style=\"color: #e0a645;border: 1px solid #e0a645;background-color: #000000;\">";
$form.="</form>";


if($izprateno)
{ $val=true;

if( !$ime )
{ $greshka.=" › <font color='red'>Моля въведете име!</font><br>"; $val = false; }

if( !$email )
{ $greshka .=" › <font color='red'>Моля въведете email!</font><br>"; $val = false; }

if( !$komentar )
{ $greshka.=" › <font color='red'>Моля въведете коментар!</font><br>"; $val = false; }

$email = trim($email);

$_name = "/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+";
$_host = "([-0-9A-Z]+\.)+";
$_tlds = "([0-9A-Z]){2,4}$/i";
if( !preg_match( $_name."@".$_host.$_tlds,$email ) )
{ $greshka.=" › <font color='red'>Моля въведете валиден email!</font><br>";
$val=false; }
}

if($val != true)
{ echo( $greshka.$form ); }
else
{
$do = "mail@domein.com";
$re = "Коментар от $ime";
$syobsht = "$komentar<br><br>IP адрес: <b>$ip</b> ( <b>$host</b> )";

$zagl  = "MIME-Version: 1.0\r\n";
$zagl .= "Content-type: text/html;";
$zagl .= "charset=\"windows-1251\"\r\n";
$zagl .= "From: $email \r\n";

if(mail($do, $re, $syobsht, $zagl))
{ echo(" › <font color='red'>Благодарим Ви за коментара, $ime! Вашето IP ще бъде записано от съображения за сигурност!</font><br> › <a href='javascript: history.go(-1)'>назад</a>");}
}
?>
 
Re: Контакт форма слагане на CAPTCHA

Използвай http://www.google.com/recaptcha - там заедно с кода дават и обяснения как се инсталира в конкретния случай. Само трябва да си направиш една безплатна регистрация.
 
Re: Контакт форма слагане на CAPTCHA

Аз съм с капча на Гугъл и трябва да ти кажа че някой ботове минават през нея...Малко намаля спама но няма голям ефект от нея. Използвай някоя капча с картинки...
 
Re: Контакт форма слагане на CAPTCHA

Тази грозна капча само може да убие желанието на някой да ти пише. Има по-интелигентни начини чрез скрити полета да предаваш нещо, което преди това е генерирано от JavaScript. Ако си го измислиш сам, никой бот няма да може да те наспами.
 
Re: Контакт форма слагане на CAPTCHA

Тази грозна капча само може да убие желанието на някой да ти пише. Има по-интелигентни начини чрез скрити полета да предаваш нещо, което преди това е генерирано от JavaScript. Ако си го измислиш сам, никой бот няма да може да те наспами.

Плюс ако проверяваш дали потрбителя е дошъл на контактната форма от твоя сайт, или изпраща директни POST заявки без да има referal ;)
 
Re: Контакт форма слагане на CAPTCHA

За китайските ботове пречки няма.
Ако си блокирал цял Китай, не ти пука... ;) Аз го направих заедно с Корея и рахатясах.
 

Горе