• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Homepage-Aufruf nur auf Deutschland begrenzt möglich?

maximiliantoreone

Neues Mitglied
Hallo zusammen,

ich habe eine Homepage erstellt und möchte diese nur für den deutschen Raum zugänglich machen, d.h. die Domain sollte nur aus dem deutschen Raum erreichbar sein.
Ist so etwas möglich und wenn ja wie?
Ich hoffe hier kann mir jemand weiterhelfen.

LG Max
 
Werbung:
So wie ich das jetzt verstehe, kann ich mithilfe des scripts ausschliesslich das Herkunftsland des Besuchers ermitteln, aber darum geht es mir eigentlich nicht.
Mir ist wichtig den Zugriff auf meine Domain z.B. aus Österreich, Schweiz, Osteuropa, Niederlande und Skandinavien zu sperren.

Von PHP verstehe ich leider nicht wirklich viel, von daher habe ich möglicherweise auch einfach das script missverstanden?

LG Max
 
Werbung:
Nein, das hast du schon völlig richtig verstanden.
Das Script stellt (mit Einschränkungen[Proxy, .com, .net, .org, etc.) fest, wo der Besucher seinen Sitz hat.
Ergänzen müsstest du das dahingehend, dass du diese Ortsfeststellung auswertest.

so in etwa:
PHP:
$zugelassen = array("de", "us", "com", "net", "org");
if(in_array($country, $zugelassen)){
	//AUSGABE DER INHALTE
}else{
	echo "<p>Diese Seite ist für Ihre Region nicht freigegeben!<br>This website is not available in your area!</p>";
}
nicht getestet
 
Zuletzt bearbeitet:
... was dann soviel bedeuten würde, dass ich quasi jeden einzelnen Betreiber zb: aus Österreich, in der Liste gesondert aufführen muss, oder langt die eine Zuordnung (dein Script Bsp.: '.drei.com'=>'.at',) um künftig alle "at" Endungen automatisch zu filtern?
 
Erst mal ist es nicht mein Script.
So weit ich es mir angesehen habe, erkennt das Script prinzipell erst mal alle Länderkürzel.
Die Anbieter, die auf diesem Weg nicht erfassbar sind, weil sie über .com, etc routen, fallen da natürlich nicht mit drunter.
Dafür hat der Scriptschreiber aber schon mal die größten Anbieter mit im Script vermerkt.
Selbstverständlich flutschen auf diese Weise welche durchs Netz. Aber so eine Abfrage ist niemals 100%ig und ist meist durch simple Nutzung eines Proxys zu umgehen.

In der Miniauswertung, die ich dir da geschreiben hab, musst du dann nur die Länderkürzel eintragen, die du NICHT ausfiltern willst.
 
Werbung:
Wenn ich es jetzt richtig verstanden habe, füge ich die Ergänzung entsprechend zum Gesamtscript und passe den Punkt "zugelassen" entsprechend an.

Weiterhin habe ich die grössten Provider (in diesem Beispiel "at") hinzugefügt um das Netz so engmaschig wie möglich zu machen - dasselbe würde ich dann zb. auch mit den Ländern so machen.

Da ich wie gesagt bisher mit PHP nicht wirklich zu tun hatte, kann ich nur raten ob und wo ich den Code nun richtig einfüge ... die Startseite müsste ja dann eigentlich von index.html in index.php umgenannt werden oder?
Wenn nein, füge ich den code direkt in den HEAD oder BODY Bereich ein oder verweise ich wie beim CSS (style.css) einfach auf das entsprechende script?

Hier das script wie ich es benutzen würde:

PHP:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
// Host ermitteln
$host = gethostbyaddr($ip);
// Host-Korrekturen
$host = strtolower($host);



$hostTrans = array(
  '.arcor-ip.net'=>'.de',  '.t-dialin.net'=>'.de',
  '.sui-inter.net'=>'.ch', '.drei.com'=>'.at',
  '.proxad.net'=>'.fr',    '.gaoland.net'=>'.fr',
  '.mchsi.com'=>'.us',     '.comcast.net'=>'.us',

´.a1.net´=>´.net´,
´.telering.at´=>´.at´,
´.telekom.at´=>´.at´,
´.orange.at´=>´.at´,
´.drei.at´=>´.at´,
´.upc.at´=>´.at´,
´.chello.at´=>´.at´,
´.aon.at´=>´.at´,
´.kabelsignal.at ´=>´.at´,

  );



$host = strtr($host, $hostTrans);
// Herkunftsland (TLD) ausschneiden
$country = (strpos($host, '.')===false) ?
           $host :
           substr(strrchr($host, '.'), 1);
// Fehler bei gethostbyaddr()
if($ip === $host)
  $country = '?';
  //
$zugelassen = array("de");
if(in_array($country, $zugelassen)){
    //AUSGABE 
}else{
    echo "<p>Webseite nicht verfügbar!<br> website is not available </p>";
    }  
# Mögliche Inhalte von $country:
# de, uk, com, ?, localhost
?>
 
In diesem Fall musst du jeden Provider extra hinzufügen. Was du alternativ machen kannst ist eine Geo-Lokalisation des Netzknotens, über den sich der Benutzer einwählt, also eine Geo-Lokalisation der IP des Besuchers. Die Erweiterung "Flagfox" für Firefox greift hierzu auf eine API zurück, erreichbar ist das ganze unter Geotool&nbsp ReCaptcha Dort kannst du sicherlich irgendwo finden, wie man das ganze implementieren kann.
Geht es dir darum aus rechtlichen Gründen die anderen Besucher auszusperren? Dann weiß ich allerdings nicht, ob eine solche Lösung passend und rechtlich i.O. ist. --> keine Gewähr!
 
Geht viel einfacher per htaccess... Finde heraus welche IP Adressen für Deutschland stehen, diese setzt du in der htaccess auf allow und alles andere, also * setzt du auf disallow und fertig!
 
Werbung:
Zurück
Oben