v2.5.2
Giriş yap

PHP veya Java ile bazı ülke girişlerini engelleme

erdal42
356 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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 ?

kitfox
572 gün önce

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.