CityHost.UA
Hilfe und Unterstützung

Wie verwendet man das GeoIP-Modul?

Auf den Hosting-Servern ist die Bibliothek des Moduls GeoIP für apache, nginx und PHP (für alle unterstützten Versionen) vorinstalliert.
Die Bibliothek GeoIP — ermöglicht es, die Region zu erhalten, zu der die IP-Adresse gehört, von der die Anfrage gesendet wird.

Unsere Server verarbeiten 4 Header:

GEOIP_ADDR - IP-Adresse, von der die Anfrage gesendet wird;
GEOIP_CONTINENT_CODE - Kontinentcode (Europa, Asien, Amerika usw.);
GEOIP_COUNTRY_CODE - Ländercode, zu dem die IP-Adresse gehört;
GEOIP_COUNTRY_NAME - Name des Landes, zu dem die IP-Adresse gehört;

Die Bezeichnungen der Länder und die Liste der entsprechenden Codes sind hier verfügbar: Link zur Quelle

Auf die von dem Server übergebenen Variablen können Sie zugreifen, indem Sie .htaccess oder die integrierte PHP-Bibliothek verwenden.

Um auf die Werte zuzugreifen, können Sie zwei Arten von Umgebungen verwenden (HTTP und ENV):

HTTP:GEOIP_COUNTRY_CODE oder ENV:GEOIP_COUNTRY_CODE — .htaccess;
$_SERVER['HTTP_GEOIP_ADDR'] oder $_SERVER['HTTP_GEOIP_COUNTRY_CODE'] - Abrufen von Daten aus dem $_SERVER-Array für PHP;



— den Zugriff für alle außer IP-Adressen aus der Ukraine mit  .htaccess:

RewriteEngine On
RewriteCond %{HTTP:GEOIP_COUNTRY_CODE} !^(UA)$
RewriteRule .* - [F]

oder

SetEnvIf GEOIP_COUNTRY_CODE UA allowed_country
Allow from env=allowed_country
Deny from all

— den Zugriff für alle außer IP-Adressen aus der Ukraine und Deutschland  unter Verwendung von  .htaccess :

RewriteEngine On
RewriteCond %{HTTP:GEOIP_COUNTRY_CODE} !^(UA|DE)$
RewriteRule .* - [F]

oder

SetEnvIf GEOIP_COUNTRY_CODE UA allowed_country
SetEnvIf GEOIP_COUNTRY_CODE DE allowed_country
Allow from env=allowed_country
Deny from all

— den Zugriff für alle Benutzer aus Deutschland unter Verwendung von  .htaccess :

RewriteEngine On
RewriteCond %{HTTP:GEOIP_COUNTRY_CODE} ^(DE)$
RewriteRule .* - [F]

oder

SetEnvIf GEOIP_COUNTRY_CODE DE denied_country
Deny from env=denied_country

— Weiterleitung von der Hauptdomain auf die mehrsprachige Subdomain für alle Benutzer, die nicht aus der Ukraine kommen, abhängig von der Region (zum Beispiel, wenn der Besucher aus Deutschland kommt - auf die Subdomain DE.DOMAIN_NAME.ZONE weiterleiten, wenn aus der Ukraine - keine Weiterleitungen durchführen) unter Verwendung von  .htaccess:

RewriteEngine On
RewriteCond %{HTTP:GEOIP_COUNTRY_CODE} !^(UA)$
RewriteRule ^(.*) https://%{HTTP:GEOIP_COUNTRY_CODE}\.%{HTTP_HOST}/$1 [L,R=301]

— Beispiel für die Implementierung in PHP unter Verwendung des globalen Variablenbereichs $_SERVER:

var_dump($_SERVER['HTTP_GEOIP_ADDR']);
var_dump($_SERVER['HTTP_GEOIP_CONTINENT_CODE']);
var_dump($_SERVER['HTTP_GEOIP_COUNTRY_CODE']);
var_dump($_SERVER['HTTP_GEOIP_COUNTRY_NAME']);




— Beispiel für die Implementierung in PHP unter Verwendung der Funktion getenv():

var_dump(getenv(HTTP_GEOIP_ADDR));
var_dump(getenv(HTTP_GEOIP_CONTINENT_CODE));
var_dump(getenv(HTTP_GEOIP_COUNTRY_CODE));
var_dump(getenv(HTTP_GEOIP_COUNTRY_NAME));



— Beispiel für die Implementierung in PHP unter Verwendung der
PHP GeoIP-Bibliothek:

$client_ip = $_SERVER['REMOTE_ADDR'];
var_dump(geoip_country_code_by_name($client_ip));
var_dump(geoip_continent_code_by_name($client_ip));
var_dump(geoip_country_name_by_name($client_ip));