Обратная связь, помогите с антиспам.

Discussion in 'PHP' started by Graf I, 15 Apr 2008.

  1. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    Кто может напишите пожалуйста код с антиспамом.( с цифрами 4+2= типо того)
    Code:
    <!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>
     
  2. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
  3. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    Как его внедрить в этот скрипт?
     
  4. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    давно ещё брал этот скрипт на ачате, переделывал под себя.
    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);
    ?>
    Простой до ужаса, выводит два числа которые нужно сложить или вычесть, юзеру нужно ввести результат.
    Вызывается соответственно:
    Code:
    <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';
    }
    ?>