vamfirius
Новичок
Доброго времени суток.
Проблема в следующем. Пишу свой первый движок. Возникла необходимость сделать антифлуд(введите цифирки с картинки и будет вам счастье.) Вот что пришло в голову и собственно говоря работает -
Почему сделал рандомное имя картинки и удаление её в начале загрузки, потому что иначе она не обновляется при переходе по ссылке с GET переменной, только после обновления страницы через кнопку браузера. Почему вообще не вынес скрипт формирования катринки в отдельный файл, потому что не знаю как вытащить из него переменные для проверки.
Насколько я знаю мой код будет довольно сильно нагружать сервер при достаточной посещаемости, поэтому прошу совета как сделать так чтобы картинка не сохранялась в файл и её не приходилось бы потом удалять.
Проблема в следующем. Пишу свой первый движок. Возникла необходимость сделать антифлуд(введите цифирки с картинки и будет вам счастье.) Вот что пришло в голову и собственно говоря работает -
PHP:
*Введите число с картинки:</br>
<?php
$dp=opendir(ABS_PATH);
while($fNames[]=readdir($dp)){}
closedir($dp);
if(is_file($fNames[2])){unlink($fNames[2]);}
$img=@imagecreate(70,50);
for($i=0;$i<27;$i++){
if($i<17){$vars[$i]=mt_rand(0,255);}
else if($i<23){$vars[$i]=mt_rand(0,9);}
else{$vars[$i]=mt_rand(5,30);}
}
$bgcolor=imagecolorallocate($img,$vars[0],$vars[1],$vars[2]);
$num1=imagecolorallocate($img,$vars[3],$vars[4],$vars[5]);
$num2=imagecolorallocate($img,$vars[6],$vars[7],$vars[8]);
$num3=imagecolorallocate($img,$vars[9],$vars[10],$vars[11]);
$num4=imagecolorallocate($img,$vars[12],$vars[13],$vars[14]);
$num5=imagecolorallocate($img,$vars[15],$vars[16],$vars[17]);
imagefill($img,0,0,$bgcolor);
imagechar($img,5,5,$vars[23],$vars[18],$num1);
imagechar($img,5,20,$vars[24],$vars[19],$num1);
imagechar($img,5,35,$vars[25],$vars[20],$num1);
imagechar($img,5,45,$vars[26],$vars[21],$num1);
imagechar($img,5,55,$vars[27],$vars[22],$num1);
imagepng($img,"$vars[9].png");
imagedestroy($img);
$q=$vars[18].$vars[19].$vars[20].$vars[21].$vars[22];
echo "<img src=$vars[9].png>";
echo "<input type=hidden name=quest value=$q>";
?>
<input type=text name=ans>
Насколько я знаю мой код будет довольно сильно нагружать сервер при достаточной посещаемости, поэтому прошу совета как сделать так чтобы картинка не сохранялась в файл и её не приходилось бы потом удалять.