Php İle Spam Engelleme Nasıl Yapılır?
-
selam arkadaşlar jquery ajax fonksyonu ile veri ekliyorum ama flood koruması yok bunu nasıl engelelrim
phpde yeniyim aspden phpye terfi zor oluyor :)
guvenlik kodu ve sessionla yapılıyor diyorlar ama nasıl kontrol ettirebilirm yardımcı olurmusnuz? -
Random 1 ile 5 arası iki sayı ata kullanıcının bunları toplamasını iste. En basit yol budur diye biliyorum..
-
hocam örneği var mı ?
-
1- ip kontrolü yaparsın. aynı ip den 1 dk içinde gönderim yapıldıysa gönderme gibi
2- güvenlik kodu. lostdreaminde dedigi gibi matematik işlemleri ideal fakat direk sayfaya basmak yerine resmin üstüne bastırtırsan yazıyı daha verimli olur veya hazır captcha api leri mevcut onları kullanabilirsin.
-
inputlar burada
<?
$sayi = rand(1,20);
$sayi2 = rand(1,20);
if (($_POST['toplam']) == ($sayi + $sayi2)){
sayılar doğru toplanmışsa yapılacak olan işlem
}
else {
hatalı girişte toplanıcak olan sayı
}
?>
edit: lostdream a itafen yazdım.
-
hocam flood için cookie oluşturur ? bir dk kalık bir cookie oluştur. Eğer cookie true değerini veriyorsa veriyi ekleyemesin eğer cookie silinmişse veri ekler ?
-
<?php session_start(); include "ayarlar.php"; header("Content-Type: text/html; charset=iso-8859-9"); //değerleri alalım function GetIP(){ if(getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP"); } elseif(getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR"); if (strstr($ip, ',')) { $tmp = explode (',', $ip); $ip = trim($tmp[0]); } } else { $ip = getenv("REMOTE_ADDR"); } return $ip; } //g.kodu $ad = strip_tags(trim(iconv('UTF-8','ISO-8859-9', $_POST["ad"]))); $mesaj = mysql_real_escape_string(strip_tags(trim(iconv('UTF-8','ISO-8859-9', $_POST["mesaj"])))); $tarih = date("d.m.Y"); $onay = 0; $ip_adresi = GetIP(); $guvenlik = strip_tags(trim(iconv('UTF-8','ISO-8859-9', $_POST["guvenlik"]))); if($_SESSION['guvenlik'] == $guvenlik){ if (empty($ad) || empty($mesaj)){ echo "hata1"; }else { $ekle = mysql_query("insert into mesajlar (yazan,mesaj,onay,ip,tarih) values ('$ad','$mesaj','$onay','$ip_adresi','$tarih')"); if ($ekle){ $id = mysql_insert_id(); $bul = mysql_query("select * from mesajlar where id='$id'"); $goster = mysql_fetch_array($bul); extract($goster); echo "<div class='yorum'> <div class='demiski'><strong>{$yazan}</strong> demişki;</div> <div class='yorum_ic'>{$mesaj}</div> </div>"; }else { echo "hata2"; } } } ?>ahanda böyle bir şey yaptım ama
Notice: Undefined index: guvenlik in C:\wamp\www\ajax.php on line 28 hhatasını alıyorum
yol gösterirmisiniz bana bir çözüm yolu?
