PHP veya Java ile bazı ülke girişlerini engelleme
Yukarda örnek olarak göstermek istediğim qwant arama motoru var.
Türkiye'de 2 sene önce hizmet vermeyi bıraktılar. Acaba bu gibi tarzda istediğimiz ülkeyi bu şekilde nasıl engelleyebiliriz. Hizmet verilmeyen ülkelerde bu gibi sayfa yapılabilir mi ?
Sanırım ip ile yapılıyor ama, örnek kodlama sistemi biliyor musunuz ?
GeoLite2-Country veritabanını kullan burdan sitesinden ücretsiz kayıt ol indir.
<?php
// Kullanıcı IP adresi belirliyoruz
$ip_address = $_SERVER['REMOTE_ADDR'];
// GeoLite2 veritabanı dosyası entegre ediyoruz.
$database = __DIR__.'/GeoLite2-Country.mmdb';
// Framework vs ekleme yoksa bu satırı sile bilirsin
require_once __DIR__.'/vendor/autoload.php';
use GeoIp2\Database\Reader;
$reader = new Reader($database);
// IP adresinden ülke kodunu al
$record = $reader->country($ip_address);
$country_code = strtolower($record->country->isoCode);
// Yerel dil bilgisi
switch ($country_code) {
case 'tr':
$local_language = 'tr';
break;
case 'de':
$local_language = 'de';
break;
case 'fr':
$local_language = 'fr';
break;
default:
$local_language = 'en';
}
// Belirli bir ülkeden gelen kullanıcıyı başka bir sayfaya yönlendir örnek sana hizmet vermiyok dersin :D
if ($country_code == 'de') {
header('Location: http://example.com/deutsch');
exit;
}
?>
artık kodu geliştirmek isteklerine göre sana kalmış. Not: kodu denemedim.