Permalänk
Medlem

Slippa spam i formulär?

Har märkt att spambots har börjat hitta till formulär på mina sidor lite till och från, senaste månaden har jag fått 5 spams-grejs på Bloggen, osv...

Någon som vet hur sådana bottar fungerar, och således kan något knep för att slippa spam? Ska göra en del kontakta-oss-grejer åt ett företag, och lovade dem att kolla om det finns något bra sätt att slippa sån skit

Visa signatur

Modermodem från ONOFF och bildskärmsutrustning från Electrolux. US Robotics 28.8K telefonuppringd internetförbindelse. Har en förkärlek för tysk tjejpop.

Permalänk
Medlem

Ja, jag har ett antispam-script som du kan få om du vill. Det enda kravet är att du har PHP med GD Library installerat på servern.

Inkludera i formuläret där allt postas

<?php session_start(); $rand_code = $_SESSION['rand_code']; unset($_SESSION['rand_code']); if(isset($_POST['validator'])) { //'validator' är namnet på fältet där man skriver in verifieringskoden if($_POST['validator'] != $rand_code) { die('Din verifieringskod stämde inte, <a href="javascript:history.go(-1)">försök en gång till</a>.'); } else { // Lägga till nya poster } ?>

Inkludera denna fil (random.php) som en bild

<?php /* I formuläret skriver du så här: <input type="text" name="validator" id="validator" size="4" /> <img src="random.php" alt="" width="60" height="20" vspace="1" align="top" /> */ ?> <?php session_start(); unset($_SESSION['rand_code']); putenv('GDFONTPATH=' . realpath('./')); if(empty($_SESSION['rand_code'])){ $str = ""; $length = 0; for($i = 0; $i < 4; $i++){ $str .= chr(rand(97, 122)); } $_SESSION['rand_code'] = $str; } $imgX = 60; $imgY = 20; $image = imagecreatetruecolor(60, 20); $backgr_col = imagecolorallocate($image, 238,239,239); $border_col = imagecolorallocate($image, 208,208,208); $text_col = imagecolorallocate($image, 46,60,31); imagefilledrectangle($image, 0, 0, 60, 20, $backgr_col); imagerectangle($image, 0, 0, 59, 19, $border_col); $font = "VeraSe.ttf"; $font_size = 10; $angle = 0; $box = imagettfbbox($font_size, $angle, $font, $_SESSION['rand_code']); $x = (int)($imgX - $box[4]) / 2; $y = (int)($imgY - $box[5]) / 2; imagettftext($image, $font_size, $angle, $x, $y, $text_col, $font, $_SESSION['rand_code']); header("Content-type: image/png"); imagepng($image); imagedestroy ($image); ?>

För att få fram några bokstäver i bilden måste du ha bitstream-typsnittet "VeraSe.ttf" ligga i samma mapp som scriptet. Ladda hem det här

Om du får några problem är det bara att fråga.

Visa signatur

What is your spaghetti policy around here?