Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Обратная связь, помогите с антиспам. (https://forum.antichat.xyz/showthread.php?t=67409)

Graf I 15.04.2008 20:25

Обратная связь, помогите с антиспам.
 
Кто может напишите пожалуйста код с антиспамом.( с цифрами 4+2= типо того)
Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
        <head profile="http://gmpg.org/xfn/11">
                <title>Мониторинг CS 1.6 серверов</title>
                <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
                <link rel="stylesheet" href="add.css" type="text/css" media="screen" />
                <link rel="shortcut icon" href="/favicon.ico" />
        </head>
        <body>
<div id="root">
<h1 align="left">Обратная Связь </h1>
               
<?php

// ИЗМЕНИТЕ ЭТИ ДАННЫЕ
$adresat = "admin@kill-first.spb.ru";  //замените на свой e-mail
$status = "Админ"; // замените на свой статус/должность
$msg = "<br><br>Спасибо, ваше сообщение было отправлено.<br>";  //Замените на свое сообщение, выводимое при отправке
if (!isset($_POST['tema']))

// если вы не знаете php/html не изменяйте код ниже:
$you = "$status.";
if ($submit) {
  if(eregi("^[a-zA-Z0-9._-]+@[a-z0-9._-]+.[a-z]{2,4}\$",$email))
  {
  if(empty($name)) echo "Введите ваше имя";
  else
  {
  mail("$adresat", "Мониторинг, Обратная Связь", "Тема: $tema", "От: $name\nАдрес: $email\nСообщение:\n\n$message");
  echo "<center><b>$msg<b></center>\n";
  }
  } else {
  echo "E-mail неправильно введен или содержит недопустимые символы. Пожалуйста вернитесь и заполните все поля правильно";
  }
}
else {
?>

<form action="<? echo $PHP_SELF?>" method=POST>
    <table width=100%>
      <tr>
        <td width="15%" align="left">&nbsp;<font class="text">Ваше имя :</font></td>
      <td width="85%" align="left"><input type=text name=name size=25></td></tr>
     
      <tr>
        <td align="left">&nbsp;<font class="text">Тема :</font></td>
      <td align="left"><input type=text name=tema size=25></td></tr>
     
      <tr>
        <td align="left">&nbsp;<font class="text">Ваш e-mail:</font> </td>
      <td align="left"><input type=text name=email size=25></td></tr>
      <tr>
        <td align="left">&nbsp;<font class="text">Ваше сообщение:</font></td>
      <td align="left"><textarea cols=38 rows=6 name=message></textarea>&nbsp;</td>
   
      </tr>
      </tr>
         
         
         
         
    </table>
  <div align="left">
      <input class="panel" name="submit" type=submit value="Отправить">
     
  </div>
</form></font>
<?php
} // end "else" and end of this script)
?>
</table>
</body>

</html>


astrologer 15.04.2008 20:28

http://captcha.ru/kcaptcha/

Graf I 15.04.2008 20:47

Как его внедрить в этот скрипт?

.:EnoT:. 16.04.2008 09:22

Цитата:

Сообщение от Graf I
Кто может напишите пожалуйста код с антиспамом.( с цифрами 4+2= типо того)

давно ещё брал этот скрипт на ачате, переделывал под себя.
PHP код:

<?php
session_start
();
$shrift 'my.ttf'#Шрифт TTF
$width 80#Ширина изображения
$height 30#Высота изображения
$imgimagecreate($width$height);
$bl imageColorAllocate($img255255255);
$z1 mt_rand(0,9);
$z2 mt_rand(0,9);
if(
$z1 $z2)
{
    
$str $z1.'-'.$z2.'=';
    @
$_SESSION['captcha'] = $z1-$z2;
}
else
{
    
$str $z1.'+'.$z2.'=';
    @
$_SESSION['captcha'] = $z1+$z2;
}
$bl imageColorAllocate($imgrand(0100), rand(0100), rand(0100));
imageTtfText($img15rand(-10,10), 015$blrealpath($shrift), $str);
header("Content-type: image/jpeg");
imagejpeg($img);
?>

Простой до ужаса, выводит два числа которые нужно сложить или вычесть, юзеру нужно ввести результат.
Вызывается соответственно:
Код:

<img src="script_name.php" alt="" border="0" />
<input type="text" name="img" />

а ещё лучше добавлять случайное число, чтобы картинка не кешировалась.
Проверяется так:
PHP код:

<?php
$img 
$_POST['img'];
if(
intval($img) != $_SESSION['captcha'])
{
   echo 
'Сумма с картинки введена неправильно';
}
else
{
   echo 
'OK';
}
?>



Время: 15:34