1. IP Adresi Bazlı Kısıtlama
Belirli bir şehirden gelen ziyaretçileri tespit etmek için IP adreslerini kullanabilirsiniz. Ancak, bu yöntemde kullanıcıların IP adreslerini tespit ederek hangi şehirden olduklarını anlamak gerekecek.
IP Geolocation Eklentileri:
WordPresste IP adreslerine göre coğrafi konum tespiti yapabilen birçok eklenti bulunmaktadır. İşte bazı popüler seçenekler:
WP GeoIP Country Redirect: Bu eklenti, IP adreslerine göre ülke ve şehir bazlı yönlendirme yapmanızı sağlar. Belirli bir şehirden gelen IP adreslerine izin verecek şekilde yapılandırabilirsiniz.
IP2Location Country Blocker: Bu eklenti de IP tabanlı erişim kısıtlaması yapmanıza olanak tanır. Şehir bazlı kısıtlama için de uygun konfigürasyon yapabilirsiniz.
Geotargeting WP: Bu eklenti, IP adreslerine göre kullanıcıların konumlarını belirleyip ona göre içerik ve erişim kısıtlaması yapmanızı sağlar.
2. Cloudflare Kullanarak Erişim Kısıtlaması
Cloudflare gibi bir hizmet kullanarak IP bazlı erişim kısıtlaması yapabilirsiniz. Cloudflareın IP Geolocation özelliği, kullanıcıların hangi şehirden geldiğini tespit etmenize yardımcı olabilir.
Adımlar:
Cloudflare Hesabı Oluşturun ve Sitenizi Ekleyin: İlk olarak, bir Cloudflare hesabı oluşturmanız ve sitenizi bu hesaba eklemeniz gerekiyor.
IP Geolocation Etkinleştirin: Cloudflareda bu özelliği etkinleştirin ve kullanıcıların IP adreslerini analiz ederek coğrafi konumlarını tespit edin.
Firewall Kuralları Oluşturun: Belirli bir şehirden gelen IP adreslerini kabul edecek şekilde firewall kuralları oluşturabilirsiniz. Bu, diğer şehirlerden gelen ziyaretçilerin erişimini engeller.
3. Kod ile Kısıtlama
WordPress sitenizde belirli bir şehirden gelen kullanıcıları tanımlamak ve bu kullanıcılara erişim izni vermek için özel kodlar kullanabilirsiniz. PHP kodu ile kullanıcıların IP adreslerini tespit edip geolocation API'ları kullanarak bu adreslerin şehir bilgilerini alabilirsiniz.
Örnek PHP Kodu: function restrict_by_city() {
$ip_address = $_SERVER['REMOTE_ADDR'];
$geolocation_api_url = 'http://api.ipstack.com/' . $ip_address . '?access_key=YOUR_ACCESS_KEY';
$location_data = file_get_contents($geolocation_api_url);
$location_data = json_decode($location_data, true);
$allowed_city = 'Istanbul'; // Erişim izni vereceğiniz şehir
if ($location_data['city'] != $allowed_city) {
wp_die('Bu siteye sadece ' . $allowed_city . ' şehrinden erişim sağlanabilir.');
}
}
add_action('template_redirect', 'restrict_by_city');4. Hosting Seviyesi Güvenlik
Bazı hosting sağlayıcıları, coğrafi konuma göre erişim kısıtlamaları yapmanızı sağlar. Bu, sitenizin sadece belirli şehirlerden erişilebilir olmasını sağlayabilir. Hosting sağlayıcınızla iletişime geçerek bu tür bir özelliğin mevcut olup olmadığını öğrenebilirsiniz.
5. Diğer Eklentiler
Geo Redirect: Bu eklenti ile kullanıcıları coğrafi konumlarına göre yönlendirebilir ve erişimlerini kısıtlayabilirsiniz.
Country & Mobile Redirect: Bu eklenti, coğrafi konum ve cihaz türüne göre kullanıcıları yönlendirmenize ve erişimi kısıtlamanıza olanak tanır.