Jump to content
php.lv forumi

Nestrada aisardziba pret spam botiem!


Wuu

Recommended Posts

Iespējas ir ļoti daudz un dažās, sākot no attēliem, beidzot ar rēķināšanām, pa vidu tam visam ir arī javascript paņēmieni (kurus neatbalsta 90%+ boti un ~10%- apmeklētāji, neboti). Izvēlies vienu variantu un uz priekšu.

 

Saišu meklēšana komentāru saturā gan nav gudra lieta..

 

EDIT: bet ja nu tomēr, tad strpos();, lai atrastu tevis minētos "href", "http://"

Edited by marcis
Link to comment
Share on other sites

	if ((strpos($pname, 'href') === false) && (strpos($ptext, 'href') === false) && (strpos($pname, 'http://') === false) && (strpos($ptext, 'http://') === false)) {
	if ($_SESSION['code'] == $code) {
		if ((!empty($_POST['name'])) && (!empty($_POST['text']))) {
			$pname = htmlspecialchars($_POST['name']);
			$ptext = htmlspecialchars($_POST['text']);
			$pname = mysql_real_escape_string($pname);
			$ptext = mysql_real_escape_string($ptext);
			mysql_query('insert into gtext values(0, NOW(),"'.$pname.'","'.$ptext.'");');
		} else {
			$error = 'Pietrūkst ievades datu.';
		}
	} else {
		$error = 'Kods nesakrīt.';
	}
} else {
	$error = 'Aizliegts ievadīt interneta adreses tekstā.';
}

nestrāda neķer =/ wtf? Man visu laiku problēmas ar šitā salīdzinājuma formulām ,besī āra...

Link to comment
Share on other sites

Man atkal ļoti patīk tāds variants, ka formā pievieno vēl vienu textarea, kuru ar css palīdzību noslēpj. Tā kā spamboti cenšas aizpildīt visus laukus, viņi automātiski aizpilda arī to textarea. Pēc tam, apstrādājot datus no formas, pārbauda, vai tas lauks ir tukšs. Ja ir, tad viss ok, ja nē, tad nepieņem datus.

Darbojas arī tiem, kam nestrādā css, tikai vajag ielikt brīdinājumu, ka nevajag aizpildīt to lauku.

Link to comment
Share on other sites

×
×
  • Create New...