• 01-07-2024, 09:46:44
    #1
    Websiteme sadece istediğim şehirden erişilsin istiyorum. Ne yapabilirim? Wordpress

    Önerisi olan, fikri olan var mı ? iyi calısmalar iyi haftalar herkese
  • Kabul Edilen Cevap
    • 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, 09:53:19
    #2
    cloudflareye yönlendirirsen oradan işlem yapabilirsin
  • 01-07-2024, 09:59:13
    #3
    Merhabalar,
    Ücretli destek almak isterseniz yardımcı olabilirim
    whatsapp: https://wa.me/905318154620
  • 01-07-2024, 10:00:01
    #4
    Bu 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:35
    #5
    Yapı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:40
    #6
    Merhabalar,

    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:11:51
    #7
    O sırada Googlebotlar
  • 01-07-2024, 10:19:27
    #8
    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:
    WordPress’te 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: Cloudflare’da 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.