Простейшая капча
// 19th, 2008 // php
Да, я знаю, я плохой, я очень плохой.
Под катом кусок кода от одного знакомого с альфы, и куда мну по шустрому встроил капчу которую он попросил. Кстати капча очень, ну очень проста в использовании и позже я об этом расскажу.
Код.
$captcha_id = substr(session_id(), 0, 15); // first 15 characters of the session ID
?>
<html><head><meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″ /></head><body>
<?
if ($_POST['captcha_answer']) {
// remove anything except letters and numbers (security)
$answer = preg_replace(‘/[^a-z0-9]+/i’, », $_POST['captcha_answer']);
// check answer
// if you get an error message because your provider has diabled allow_url_fopen,
// please use the myfile() function from the following website instead of file():
// http://www.klamm.de/crashforum/showpost.php?p=1041750&postcount=5
if (implode(file(«http://captchator.com/captcha/check_answer/».$captcha_id.»/».$answer)) == ‘1′)
// CORRECT CAPCHA
// SEND MAIL
{
$br = «???.ua»;
mail(«???@$br», «Сообщение со страницы контакта curs.com.ua», » от $name
Еmail-отправителя: $email
Тема: $reason
Текст письма: $message»,
«From: <$email>\nContent-type: text/plain; charset=windows-1251″);
echo «<br><br><center>Ваше письмо отправлено успешно.<br><br><a href=’http://cur
s.com.ua/board.php’>На главную</a> «;
} else {
echo ‘<div style=»color: red»>Wrong answer, please try again.</div>’;
}
}
else {
?>
<form action=»#» name=’mailer’ method=»post»><table align=center>
<tr><td class=leftext>Ваше имя:</td><td><input type=text name=name maxlength=50
class=pochta></td></tr>
<tr><td class=leftext>Bаш е-mail:</td><td><input type=text name=email size=30 maxlength=50 class=pochta></td></tr>
<tr><td class=leftext>Тема:</td><td><input type=text name=reason maxlength=50 class=pochta></td></tr>
<tr><td class=leftext>Текст письма:</td><td><textarea name=message cols=40 rows = 10 class=pochta></textarea></td></tr>
<tr><td class=leftext>Введите текст на картинке</td><td><img src=»http://captchator.com/captcha/image/<?= $captcha_id ?>» /><input type=»text» name=»captcha_answer» /></td></tr>
<tr><td class=leftext></td><td><input value=»отправить» type=submit class=butn></td></tr>
</table></form>
<?
}
?>
</body></html>
Капча к форме отправки была прицеплена пока я сидел и ждал своё пиво в пиццерии. И не надо так кривить лицо, я предупреждал -) Свою функцию он выполняет, и хватит -)
P.S. Да, кстати, я не блондинко и CAPTCHA правильно писать заглавными, это аббревиатура.
CAPTCHA [ˈkæptʃə] (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» (с) Викки





Да уж Читаю и понимаю, что нифига не понимаю о чем речь:)
Занимательная и интересная статья у вас. В отличие от большинства остальных подобных почти нет воды!