Hocam kabaca 2 fonksiyon oluşturdum. Fonksiyonlardan biri kod üretiyor diğeri de kodu çözümlüyor. Üretilen kod her saniye değişmekte ve sizin belirlediğiniz zaman toleransına göre doğrulama fonksiyonu çalışmakta. Ben kod üretmek için hex2bin ve bin2hex kullandım. Siz daha farklı fonksiyonlar deneyebilirsiniz. Örnekte 5 sn toleranslı kullandım. 5sn sonra kullanılacak sistem içi veya sistem dışı kod çalışmayacaktır.
Site Kökünden gelen gizli anahtar: (Bu anahtar hem ön sayfada hem de json)
$gizli_anahtar = '123456Aa';
Kod Üreten ve Çözen Fonksiyonlar:
function olustur($gizli_anahtar = ''){
return bin2hex($gizli_anahtar . '__' . time());
}
function coz($gizli_anahtar, $kod){
$sure_fark = 5; // x süre farkı kadar opsiyon tanı
$kod_coz = hex2bin($kod);
$kod_bol = explode('__', $kod_coz);
if( count($kod_bol) == 2 && $kod_bol[0] == $gizli_anahtar ){ // gizli anahtar eşleşti ise
if( $kod_bol[1] + $sure_fark >= time() ){ // süre fark kontrol
return true;
}
}
return false;
}Örnek Kullanım:
/*
Kullanım:
Get İsteği Yapan Sayfa:
Get isteği yapılacak sayfada kod oluşturulur ve url'den get data olarak gönderilir.
Örn:
$kod = olustur($gizli_anahtar); // return hex (Örn: 31323334353641615f5f31363235323238303730)
Örn Url: site.com/json.php?code=31323334353641615f5f31363235323238303730
Json Oluşturan Sayfa:
Gelen code değeri alınır ve çözümlenir.
$code = isset($_GET['code']) ? $_GET['code'] : '';
$cozumle = coz($gizli_anahtar, $code); // return true/ false
if( !$cozumle ){ // Kodu Çözümle
die(); // Çözümleme Hatalı ise yürütmeyi durdur.
}
*/