No to je fakt humus...
Taky se přikláním k obrázkovýmu kódu, ale napadaj mě i jiný alternativy, který můžou a nemusej fungovat.
Chtělo by to udělat nějakou analýzu a zjistit třeba user-agenta, vypadá to na bota, takže by moh mít třeba nějakej specifickej user-agent, a pak ho bloknout.
Nebo bych zkusil dát odesílání javascriptem, boti většinou neuměj javascript kvůli rychlosti.
Spam filtr by taky stál za zvážení. Obodovat jednotlivý spam slova (substr_count), třeba viagra=10, buy=3, cheap=2, order=4,..., k tomu třeba bodovat počet odkazů, třeba po bodu (myslim, že v normálním příspěvku víc než 10 odkazů nebude) a když to přeleze třeba 25 tak ho neuložit, tohle by bylo docela pracný, ale pro uživatele příjemný a flexibilní do budoucna.
A nedalo mi to a zkusil jsem takovej filtřík udělat, je jednoduchej, zkoušel jsem to na článkách tady na fóru (dával index max do 3), z jednoho anglickýho fóra (max do 12) a příspěvky z tvýho webu od cca 100 do 300
.
zdroják:
Kód:
<html>
<body>
<form action="spam.php" method="POST">
<textarea name="text" rows="15" cols="30"></textarea><br>
<input type="submit" value="Spam?">
</form>
<?
if (isset($_POST["text"])){
$slovnik=array("http://","buy","viagra","order","cheap","discount","valium","tramadol","hydrocodone","fioricet","adipex");
$body=array(1,2,5,3,3,3,5,5,5,5);
$text=strtolower($_POST["text"]);
$spam=0;
for ($i=0;$i<sizeof($slovnik);$i++){
$spam=$spam+(substr_count($text,$slovnik[$i])*$body[$i]);
}
echo "Spam index= ".$spam;
}
?>
</body>
</html>
funkční test: http://www.smitka.org/spam.php
EDIT: no, zrovna muj příspěvek má 52