Php Ankette Basit Bir Kontrol
-
Arkadaşlar öncelikle hepinize merhaba,
Ben basit bir anket yaptım veritabına kaydediyorum.Bu ankete sürekli oy kullanabiliyorsunuz.Bunu nasıl engelleyebilirim.Anket radio buttonlardan oluşuyor.Hangi konuyu araştırmalıyım yardımcı olursanız sevinirim.
-
Anketi onaylarken CAPTCHA koyun, farklı bir sayfaya yönlendirme yapın ya da formun gönder butonunu js ile kaldırın.
Örneğin button'un onclick olayına document.getElementByID("gönder tuşunun idsi").remove(); Tabi bu şekilde kaldırırsanız gönder tuşu çalışmayacaktır. Ajax istekleri ile birleştirdiğinizde sorun kalmaz:)
Anketin ciddiyetine göre üyelik istenebilir ya da e-posta doğrulaması konulabilir.
-
php sessions ?
-
erc bunu yazdı
php sessions ?
session ile olmaz.
ziyaretci tarayici acik iken bir defa oy kullanabilir. Tarayiciyi kapatip yeniden actiginda tekrar oy kullanabilir.
Anket yapacaksan hem ip adresini hemde host adini tutmalisin.
ip adresini ogrenmek icin:
$ip = $_SERVER['REMOTE_ADDR'];
Host adini ogrenmek icin:
$host = gethostbyaddr($ip);
Anket kullanilirken ise:
$sql = mysql_query("SELECT ip FROM anket WHERE ip = '" .$ip. "' AND host = '" .$host. "'");
if(mysql_num_rows($sql) == 0)
{
// veritabanina kayit kodlarini buraya koy
}
sniperscope tarafından 31/Oca/13 10:09 tarihinde düzenlenmiştir -
Oy verenleri txt dosyasına kaydet :))
ordan sorgulayabilirsin o ip varmı yokmu diye.
Sql e yüklenmemiş olursun direk makina yorulsun. Tabiki biraz benimkisi abartlı ve zor olan tarafı snipescope güzel bir şekilde açıklmamış..
piyasada bir çok anket scripti yada örnekler var onları kontrol ettirebilirsin....
Aynı zamanda performans için sql yada makinayı kasmak istemiyorsan en temizi cookie ile çlaışmaktır.
Oy vermek isteyen bir kişinin önce ps de cookie sine baktır değeri 1 ise oy veremesin de uyarı verdirt. Eğer öyle bir cookie yoksa oylamayı yapsın, yaptıkdan sonra o adamın ps ye bir cookie atsın ve değerini 1 yapsın.
Sql e ip olarak eklesen ve adam sürekli tıklayıp saldırı yapmaya çalışşsa her defasında mysq_num_rows çalışacak ve ip kkontrolu yapacak gerek yok bu kadar kasma ya cookie yada text çalış derim.
Ama yok benim ziyaretçi sayım düşük. Zaten kaç kişi tıklar bilmiyorum dersen sql den yap.
Kolay gelsin.
-
eyvallah hocam sağolasınız
