Предистрия: вчера хостер отключил мне базу данных из того что я ее сильно грузил (это я решил, там одним запросом 3200 строк шло). Какой то бот с ип 188.143.232.202 мне спамит гостевую через каждые 6 минут.
У меня стоит капча, которую выдернул из какого то скрипта и чуть изменил.
В странице с формой сессия
$secret=rand(100,999);
$_SESSION['secret'] = $secret;
$secret2=rand(1,10);
$_SESSION['secret2'] = $secret2;
Добавлено через 00:36 сек.
сама страница с капчей
// стартуем сессию с полученным SESSIONID
session_id($_GET['sid']);
session_start();
// создаем каритнку:
$im = imagecreate(70,20);
// бледно зеленый фон...
imageColorAllocate($im,990,995,990);
// ... с зелеными:
$color = imageColorAllocate($im,21,0,50);
$color_text = imageColorAllocate($im,88,10,50);
// ... текстом
$prov_code=''.$_SESSION['secret'].'+'.$_SESSION['secret2'].'';
imagestring($im,5,13,2,$prov_code,$color_text);
// ... и линиями, которые усложнят задачу "распознавания"
// картинки в автоматическом режиме
imageline($im, mt_rand(11, 59), mt_rand(-10, 10), mt_rand(0, 10), mt_rand(11, 32), $color);
imageline($im, mt_rand(18, 49), mt_rand(-10, 10), mt_rand(20, 25), mt_rand(11, 32), $color);
imageline($im, mt_rand(0, 99), mt_rand(-10, 10), mt_rand(35, 40), mt_rand(11, 32), $color);
imageline($im, mt_rand(8, 119), mt_rand(-10, 10), mt_rand(50, 55), mt_rand(11, 32), $color);
imageGif($im);
header("Content-Type: image/gif");
Добавлено через 01:43 сек.
страница с записью в базу даных, тут провепряю код
session_start();
if($prov_kode!=($_SESSION['secret']+$_SESSION['secret2'])){
header ('Location: index.php?isset=prov_kode_no'); exit; }
Добавлено через 03:14 сек.
Вопрос! Как он это обходит и что сделать, чтобы он этого не мог сделать?