PHP Yabancı İP Sorgusu Nasıl Yapılır
İnternette gördüğüm kadarıyla herkes scriptlerine Yabancı İp sorgulama yapmayı merak ediyor ve bulamıyorlar. Bulan kişilerde yabancı kaynaklardan yararlanarak bulabiliyorlar ama diğer bulamayan kısım ise scriptlerine Yabancı İp sorgulamayı ekleyemiyor. Buna çözüm olarak küçük bir kodlama yaparak hem anlaşılır hemde basit bir şekilde göstereceğim. Kodlamaya geçmeden önce İp sorgusu ne için kullanılır ona bir bakalım.
Yabancı İp Sorgulama Ne İçin Kullanılır?
Yabancı İp Sorgusu genelde üye olunurken sorgulama yapmada kullanılır. Yada siteye yabancı kişilerin girmesini engellemek için kullanılır. Örneğin sitenize zararlı botlar girip sizin içeriklerinize yorum olarak reklamını yapabilir. Bunların önüne geçebilmek için PHP'de Yabancı İp Sorgulamayı göstereceğim.
İlk olarak üye olacak kişinin ip adresini alıp bir değişkene atayalım. Kodlarımız şu şekilde olacaktır;
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;
}
$ipadres = $_SERVER['REMOTE_ADDR'];
daha sonra ülke sorgusu yaptığımız site verileri stdClass olarak verdiği için onu biz array'a çevireceğiz. Bu işlem ise sadece fonksiyon ekleyerek yapacağız. Kodlarımız şu şekilde olacaktır;
function cvf_convert_object_to_array($data) {
if (is_object($data)) {
$data = get_object_vars($data);
}
if (is_array($data)) {
return array_map(__FUNCTION__, $data);
}
else {
return $data;
}
}
bundan sonra ise Ülke sorgusu yapıp Türkiye İp adresi olduğunu doğrulayacağız. Bu işlem ise şöyle olacaktır;
$ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ipadres));
$array = cvf_convert_object_to_array($ipdat);
$array2 = $array['geoplugin_countryCode'];
if(!$array2 = "TR"){
echo "Yabancı üye olduğunuz için engellendiniz.";
}else{
// Kayıt işlemi.
}
else'den sonrasına istediğinizi yazabilirsiniz. Örnek olarak Üye kayıt işlemini ekleyebilirsiniz.
Yardımcı olmamı istediğiniz farklı bir konu olduğunda yorumlar kısmında yada belirtebilirsiniz.
İyi günler iyi kodlamalar.
Hiç yorum yok :
Yorum Gönder