Pääsyn rajaus sivustolle WP-palvelussa (geoblock)
Toisinaan voi ilmetä tarve estää vierailijan pääsy sivustolle tai ohjata tietylle sivulle sijainnin perusteella. Seravon WP-palvelussa on mahdollisuus rajata sivustolle pääsyä erillisen HTTP-otsaketiedon (header) avulla.
Rajaa pääsyä PHP:lla tai NGINX:llä
Seravon omalla HTTP-otsaketiedolla X-Seravo-Geo-Country-Code voit hallita pääsyä sivustolle tarkemmin.
Edelleenohjaa vierailijat toiselle sivulle PHP:lla
Edelleenohjaus (redirect) toiselle sivulle on käytännöllinen esimerkiksi silloin, kun halutaan ohjata tietystä maasta tuleva sivustovierailija sopivaan kieliversioon.
<?php if (isset($_SERVER['HTTP_X_SERAVO_GEO_COUNTRY_CODE'])) { switch (strtolower($_SERVER['HTTP_X_SERAVO_GEO_COUNTRY_CODE'])) { // Ohjaa suomenkielinen vierailija sivustolle esimerkki.fi case 'FI': header("Location: https://esimerkki.fi"); exit(); // Ohjaa ruotsinkielinen vierailija sivustolle esimerkki.se case 'SE': header("Location: https://esimerkki.se"); exit(); default: // Älä tee mitään, jatka suorittamista WordPressissä break; } } else { error_log("Error: X-Seravo-Geo-Country-Code header not found!"); }
Edelleenohjaa vierailijat toiselle sivulle NGINX:llä
Voit tehdä vastaavan uudelleenohjauksen myös HTTP-palvelimelle. Muokkaa esimerkin maatunnisteita halutun rajauksen toteuttamiseksi.
# Ohjaa suomenkielinen vierailija sivustolle esimerkki.fi if ($http_x_seravo_geo_country_code = "FI") { return 301 https://esimerkki.fi; } # Ohjaa ruotsinkielinen vierailija sivustolle esimerkki.se if ($http_x_seravo_geo_country_code = "SE") { return 301 https://esimerkki.se; }
Rajaukset kirjautumissivulla
Myös kirjautumissivulle voi määritellä maarajauksen. Koska rajaus voi estää myös oikeiden käyttäjien pääsyä sivustolle, suosittelemme maarajausten sijaan kaksivaiheisen tunnistautumisen (2FA) ja reCaptcha-lisäosien käyttöä kirjautumissivuilla mahdollisuuksien mukaan, sillä ne ovat tehokkaampi keino suojata kirjautumissivu.
Muokkaa alla olevan esimerkin maatunnisteita halutun rajauksen toteuttamiseksi.
location ~ /wp-login.php { if ( $http_x_seravo_geo_country_code !~* "(FI|SE|BG)" ) return 403; } }
Lisätietoja
Lue lisää aiheesta Seravon kehittäjädokumentaatiosta (englanniksi).