Websiteme sadece istediğim şehirden erişilsin istiyorum. Ne yapabilirim? Wordpress
Önerisi olan, fikri olan var mı ? iyi calısmalar iyi haftalar herkese
Websiteme sadece istediğim şehirden erişilsin istiyorum. Ne yapabilirim? Wordpress
7
●222
- 01-07-2024, 09:46:44
- Kabul Edilen Cevap
- 1 Beğeni
-
- 01-07-2024, 09:59:13Merhabalar,
Ücretli destek almak isterseniz yardımcı olabilirim
whatsapp: https://wa.me/905318154620 - 01-07-2024, 10:00:01Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.Cloduflare workers kısmına şu kodu verirsen işe yarayabilir
addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { const city = request.cf.city const allowedCity = 'BURAYA İSTEDİĞİN ŞEHİR' if (city !== allowedCity) { return new Response('Bu web sitesine sadece ------- şehrinden erişebilirsiniz.', { status: 403 }) } return fetch(request) }Veya bunun için ücretli servisler var:- MaxMind GeoIP
- IPStack
- IpInfo
- 01-07-2024, 10:02:35Yapılır ama öneri: Ciddi erişim sıkıntıları yaşayabilirsiniz. Örneğin şuan ben Erzurum'dayım ama IP'im Adana kaynaklı bir sunucudan girdiğimi gösteriyor. Sıkıntı yaratabilir.
- 01-07-2024, 10:06:40Merhabalar,
Bu işlem için GEO IP Location sağlayıcılarından bir API almanız gerekiyor, örnek ipinfo.io üzerinden API aldınız diyelim basit bir kodlama ile PHP dosyası oluşturmanız gerekiyor. Eğer belirlediğiniz şehir dışında sitenize istek geliyorsa engelleme yapabilirsiniz ve bunu wordpresse entegre etmek için .htaccess dosyasını açmanız ve oluşturduğunuz PHP dosyasından veri çekmeniz gerekiyor, böylelikle sitenize gelen her kullanıcının IP adresi kontrol edilir.
Not: Geo IP Location sağlayıcıları hiçbir zaman %100 sonuç vermez İstanbul da ikamet eden bir şahıs Ankara da görülebilir bölgesel yoğunluğa göre POP sunucuları değişmektedir.
Saygılarımızla,
Hostolog.com - 01-07-2024, 10:19:271. 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.