Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Защита форм от роботов (скрипт)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

arrancarn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<?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
 
session_start() [function.session-start]:<==== если это убрать в двух местах то проблема исчезает но картинки не видно не отображается
 
 
и самый последний вопрос как совместить с вот этой формой(чтобы кнопка для проверки была и для отправки
 
 
<form name="form1" method="post" action="order.php">  
           
      </noindex>
            <table width="100%" border="0" cellpadding="7" cellspacing="0" bgcolor="#eeeeee" class="link_table">
            <tr>
            <td align="right" valign="middle"><strong>Выберите:</strong></td>
              <td>                
              <select name='person'>
          <option selected="selected">Любой</option>
          <option value=0>имя</option>
          <option value=1>имя</option>  
          <option value=2>имя</option>
          <option value=3>имя</option>
          <option value=4>имя</option>
          <option value=5>имя</option>
          <option value=6>имя</option>
          <option value=7>имя</option>
          <option value=8>имя</option>
          <option value=9>имя</option>
          <option value=10>имя</option>
          <option value=11>имя</option>
          <option value=12>имя</option>
           </select></td>
              </tr>
               <tr>
              <td align="right" valign="middle" ><strong>Ваше имя:</strong></td>
              <td ><input name="name" type="text" id="name" size="40"></td>
            </tr>
            <tr>
              <td align="right" valign="middle"><strong>Возраст:</strong></td>
              <td><input name="age" type="text" id="age" size="3"></td>
            </tr>
            <tr>
              <td align="right" valign="middle"><strong>E-mail <span class="style9">*</span>:</strong></td>
              <td><input name="email" type="text" id="email" size="40" /></td>
            </tr>  
            <tr>
              <td align="right" valign="top"><strong>Задать вопрос<span class="style9"> *</span>:</strong></td>
              <td><textarea name="comments" cols="35" rows="7" wrap="VIRTUAL" id="comments"></textarea>
              <input name="confirm" type="hidden" id="confirm" value="yes"></td>
            </tr>
            <tr>
              <td height="62"></td>
               
               
              <td><input name="Submit" type="submit" class="text" value="Отправить"> </td>
            </tr>
          </table>
            <p><strong class="style9">*</strong> - поля, обязательные для заполнения. </p>
      </form>  





Вам же сказали - тег more /Cheery/

Всего записей: 14 | Зарегистр. 26-06-2008 | Отправлено: 19:47 01-07-2008 | Исправлено: arrancarn, 19:51 01-07-2008
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Защита форм от роботов (скрипт)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru