Войти

Показать полную графическую версию : [решено] Борьба со спамом.


Piratic
10-07-2007, 14:38
Добрый день! У меня вот такая острая проблемка. Ежедневно в большом количестве, в гостевую книгу, на моем сайте падает большое количество спама, которому конца и края как я убедился не будет если же не предпринимать каких либо действий. Что бы вы могли посоветовать по устранению проблемы?

Гостевая книга: Sad Raven's Guestbook v1.1

XCodeR
10-07-2007, 17:07
я думаю большинство спама засыпается не автоматически, а в ручную. поэтому бороться практически нереально.

Piratic
11-07-2007, 12:02
Тут очевидно, что это делается не вручную, IP меняется после двух сообщений!

vadimiron
11-07-2007, 15:01
Тут очевидно, что это делается не вручную, IP меняется после двух сообщений!
Ну тогда стандартная картинка с числом, которое надо ввести перед постингом. Так на многих же сайтах делают - как раз против спама

Underson
11-07-2007, 18:33
vadimiron а есть скриптик какой нить независимый чтобы это делал ну просто чтобы ему отправляешь число а он его таким образом выводил.. а то такой велосипед совсем изобритать не охота

vadimiron
11-07-2007, 19:08
Underson
То есть чтобы на другом сервере бежал или просто код уже готовый??

Underson
11-07-2007, 22:03
vadimiron код готовый .. функция которая получает набор символов а выдводит картинку.. собственно и все... понимаю что реально написать самому просто лениво.. с графикой в ЗРЗ я особенно не сталкивался серьезно.. и пока чегото туда лезть нехахота)

vadimiron
11-07-2007, 23:00
vadimiron код готовый .. функция которая получает набор символов а выдводит картинку.. собственно и все... понимаю что реально написать самому просто лениво.. с графикой в ЗРЗ я особенно не сталкивался серьезно.. и пока чегото туда лезть нехахота)

Такого полно уже :) А просто текст на какой нибудь картинке написать - так это вообще вызовом двух функций достигается :) В инете полно примеров

Из готового я помню один из модулей JpGraph-a (http://www.aditus.nu/jpgraph/)

Piratic
Ещё можно ввести минимальное количество времени между двумя постингами. Также комбинировать это с IP-адресом.

А ещё проблема в том, что для таких популярных скриптов уже написаны роботы: надо либо самому писать, либо пользоваться менее известными проектами

Этот класс я когда то использовал для создания картинок с простым фоном и обычным текстом на картинке - для частного использования подойдёт.
Цвет в виде $color="212.212.212";
FONTS_DIR."/arial.ttf" - здесь хранился шрифт


<?
/**
* Enter description here...
*
* @package SYSTEM
*/
class IMAGE
{
private $resource;

function __construct($x,$y)
{
$this->resource=imagecreatetruecolor($x,$y);
}
function __destruct()
{
imagedestroy($this->resource);
}


function set_background($color)
{
$col=self::make_color($color);
imagefill($this->resource,0,0,$col);
}

function make_color($color)
{
$color_ar=explode(".",$color);
return imagecolorallocate($this->resource,$color_ar[0],$color_ar[1],$color_ar[2]);
}


function set_text($text,$color,$size,$x,$y)
{
imagettftext($this->resource,$size,0,$x,$y,self::make_color($color),FONTS_DIR."/arial.ttf",$text);
}



function create_gif($filename,$path=TEMP_IMG_DIR)
{
imagegif($this->resource,$path."/".$filename);
}

function create_jpeg($filename,$path=TEMP_IMG_DIR)
{
imagejpeg($this->resource,$path."/".$filename,100);
}

function output_gif()
{
imagegif($this->resource);
}

//Anpassung von Image mit w2,h2 zur Groesse von Image mit w1,h1
static function adjustImageSize($w1,$h1,$w2,$h2)
{

$heightChangePercent=1;
$widthChangePercent=1;

$heightChangePercent=((double)$h1/(double)$h2);
$widthChangePercent=((double)$w1/(double)$w2);

$changePercent=1;

$newImgWidth=$w2;
$newImgHeight=$h2;

if($heightChangePercent<1)//Image muss nach HEIGHT verkleinert werden
{
if($widthChangePercent<1)//Image muss nach WIDTH verkleinert werden
{
$changePercent=min($heightChangePercent,$widthChangePercent);
}
else if($widthChangePercent>1)
{
$changePercent=$heightChangePercent;
}
}
elseif($heightChangePercent>1)//Image muss nach HEIGHT vergroessert werden
{
if($widthChangePercent<1)//Image muss nach WIDTH verkleinert werden
{
$changePercent=$widthChangePercent;
}
else if($widthChangePercent>1)
{
$changePercent=1;
//$changePercent=min($heightChangePercent,$widthChangePercent);
}
}

$newImgWidth=abs((int)($newImgWidth*$changePercent));
$newImgHeight=abs((int)($newImgHeight*$changePercent));

return array($newImgWidth,$newImgHeight);
}


}//IMAGE CLASS END
?>

Piratic
15-07-2007, 14:15
Всем большое спасибо, проблема решена. Заглянул на сайт автора, скачал новую версию скрипта, где и реализована мощная защита от спама, всеми доступными методами.




© OSzone.net 2001-2012