Bakında biraz karışık gözükebilir. Burdaki amaç sürekli kullanılan bir sayfada botu engelleme. Özellikle post kasma gibi sürekli ard arda aynı sürelerdeki aralıklarda yapılan işlemler için.
3 işlemin zamanını alıp 2. den 1i 3. dende 2yi çıkararak olarak aradaki saniye olarak zaman farklarını aldım. Bunlar eğer aynı ise yada aradaki saniye farkı 1 veya 2 saniye ise sessionu bitirip giriş sayfasına yönlendirdim. eğer böyle bir durum olmazsa başa dönmesi içinde sessionları boşalttımki sorun yoksa sürekli başa dönsün. Bu arada 1-2 saniye olayı bazen sayfa açılış hızında 1-2 saniye gecikme olarak bot işlem yaparsa diyerekten.
tabi bunu daha geliştirip kendinize göre düzenleyebilirsiniz.
Ben sizinde fikirlerinizi almak istiyorum. bu konuda. daha nasıl geliştirilebilir yada masumlarıda sıkıntıya sokarmı?
if($_SESSION[k1] == ""){
$_SESSION[k1]=time();
}else{
if($_SESSION[k2] == ""){
$_SESSION[k2]=time();
}else{
if($_SESSION[k3] == ""){
$_SESSION[k3]=time();
}else{
$arb=$_SESSION[k2]-$_SESSION[k1];
$ara=$_SESSION[k3]-$_SESSION[k2];
if($arb == $ara){
session_destroy();
echo "<meta http-equiv=Refresh content=0;url=index.php>";
exit();
}else{
$f1 = $arb - $ara;
$f2 = $ara - $arb;
if($f1 > $f2){
$son= $f1 - $f2;
if($son < "3"){
session_destroy();
echo "<meta http-equiv=Refresh content=0;url=index.php>";
exit();
}else{
$_SESSION[k1]="";
$_SESSION[k2]="";
$_SESSION[k3]="";
}
}else{
$son= $f2 - $f1;
if($son < "3"){
session_destroy();
echo "<meta http-equiv=Refresh content=0;url=index.php>";
exit();
}else{
$_SESSION[k1]="";
$_SESSION[k2]="";
$_SESSION[k3]="";
}
}
}
}
}
}
hala bişeyleri isbat etmeye çalışıyorsun, benim amacın sana birşeyi kanıtlamak değil, bu sistemin güvenli olmadıgı...