Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22
Like Tree3Likes

Thema: Länderfilter

  1. #1
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    Länderfilter

    Hallo,

    ich bin auf der Suche nach einem Script, mit dem ich, anhand der IP, bestimmte Länder filtern/blockieren kann.
    Zudem sollte es möglich sein, zu erkennen, ob ein Proxy oder ein VPN aktiv ist (VPNs liefern IPs im Format XXX.XX.XXX.XXX, also immer vorn mit 3 Stellen, während Proxys vorn nur 2 Stellen geben)

    Da ich mich mit Json gar nicht auskenne, wäre ein anderer Lösungsweg gewünscht.
    Falls das nicht möglich ist, brauche ich eben ganz viel Hilfe

    PS: Sollte dies hier der falsche Ort für den Thread sein, bitte verschieben.
    Da ich nicht weiß, mit welcher Technik man sowas machen kann, habe ich auch nicht gewusst, in welchen Bereich ich das ganze stellen soll.
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

  2. #2
    j-l-n Guest

    AW: Länderfilter

    Hier kannst du dir eine .htaccess erstellen lassen: Block Visitors by Country | IP2Location.com
    Hinweis an dieser Stelle: so etwas täte ich im Produktiveinsatz auf keinen Fall machen - so sind beispielsweise die IP-Ranges nur grob zugeordnet; d.h., nur weil jemand diese IP hat, muss er nicht aus dem jeweiligen Land sein und andersherum ebenfalls.


    Zitat Zitat von dbarthel Beitrag anzeigen
    Zudem sollte es möglich sein, zu erkennen, ob ein Proxy oder ein VPN aktiv ist (VPNs liefern IPs im Format XXX.XX.XXX.XXX, also immer vorn mit 3 Stellen, während Proxys vorn nur 2 Stellen geben)
    Wo hast du denn das her? Denn stimmen tut das so nicht.
    Zwecks Proxyerkennung: da musst du mal schauen, ob irgendwas im "Forwarded for"-Header steht oder sich Remote_Addr und X-Real-IP unterscheiden. Aber klappen tut das dann nur bei "Transparent"-Proxies. Es ist unmöglich, einen "High-Anonymity"-Proxy bzw. VPN zu erkennen - es sei denn, man führt eine Liste von bekannten Servern der VPN-Anbieter...

  3. #3
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    AW: Länderfilter

    Zitat Zitat von Julian Beitrag anzeigen



    Wo hast du denn das her? Denn stimmen tut das so nicht.
    Das hat mir ein Kollege, der bei einem Intermet-Provider arbeitet so gesagt und geneint, VPNs würden IPs aus dem privaten IP-Bereich zuweisen, quasi so als ob man in einem Firmebnetzwerk ist.

    Wollte das ganze nicht per .htaccess machen, da das, wie du schon sagst, zu ungenau ist, nur auf Apache Servern geht und zudem unschön ist.

    Gibt's da noch eine andere Möglichkeit?

    Du hattest doch irgendwo mal so ne Api, zwar mit json, die auch Geo-Daten abfragte.
    Ich dachte eher an sowas, und das man diese Geos filtern könnte, und bestimmte Länder eben umleiten/blocken.
    Wenn es sowas, ohne json gibt, wäre das glaube ich ideal.

    - - - Aktualisiert - - -

    Wenn es sowas nur mit json gibt, vielleicht könnte mir dann jemand helfen und an einem Beispiel zeigen, wie man da dasLand auslesen und prüfen kann.
    Geändert von dbarthel (18-07-2014 um 18:27 Uhr)
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

  4. #4
    j-l-n Guest

    AW: Länderfilter

    Zitat Zitat von dbarthel Beitrag anzeigen
    Wollte das ganze nicht per .htaccess machen, da das, wie du schon sagst, zu ungenau ist, nur auf Apache Servern geht und zudem unschön ist.
    Die .htaccess macht allerdings eigentlich auch nichts anderes; und die GeoIP-APIs sind alle ungenau.

    Zitat Zitat von dbarthel Beitrag anzeigen
    Wenn es sowas nur mit json gibt, vielleicht könnte mir dann jemand helfen und an einem Beispiel zeigen, wie man da dasLand auslesen und prüfen kann.
    Gerne:
    PHP-Code:
    $blocked_countries = array("DE""US");

    $get "http://www.telize.com/geoip/".$_SERVER["REMOTE_ADDR"];
    $curl curl_init();
    curl_setopt($curlCURLOPT_URL$get);
    curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($curlCURLOPT_HEADERfalse);
    $IPinfo curl_exec($curl);
    curl_close($curl);

    $IPinfo json_decode($IPinfo);
    $country $IPinfo->country_code;
    if(
    in_array($country$blocked_countries)){
      die();

    Geändert von j-l-n (20-07-2014 um 12:54 Uhr) Grund: kleinen Fehler ausgebessert
    dbarthel likes this.

  5. #5
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    AW: Länderfilter

    Danke dir erstmal.

    Wenn sowohl die Geo-Apis als auch die .htaccess Lösungen ungenau sind, gibt's da keine Lösung, die genauer ist?
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

  6. #6
    j-l-n Guest

    AW: Länderfilter

    Zitat Zitat von dbarthel Beitrag anzeigen
    Wenn sowohl die Geo-Apis als auch die .htaccess Lösungen ungenau sind, gibt's da keine Lösung, die genauer ist?
    Vorsicht - wie gesagt besteht da kein Unterschied: die GeoIP-APIs und die IP-Listen für die htaccess basieren alle auf dem selben Prinzip, nämlich Datenbanken von IP-Adressen/-Ranges, die bestimmten Regionen zugeordnet sind.
    Eine genauere Lösung gibt es nicht, nein. Generell macht eine Ländersperre in meinen Augen ohnehin wenig Sinn - jemanden der "böses" im Schilde führt, hält das sowieso nicht ab, und alle anderen User werden dadurch nur ungerechtfertigterweise eingeschränkt...

  7. #7
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    AW: Länderfilter

    Ok Danke für deine Antwort.
    Prinzipiell bin ich auch kein Freund von solchen Sperren, aber aus rechtlichen Gründen ist dies teilweise nötig und auf Grund von Mißbrauch, welcher vorwiegend von bestimmten Landsleuten ausgeht, ratsam geworden.
    Werde beide Techniken mal testen, aber bei den Geo-Apis kann ich auf eine Hinweisseite umleiten.
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

  8. #8
    j-l-n Guest

    AW: Länderfilter

    Zitat Zitat von dbarthel Beitrag anzeigen
    bei den Geo-Apis kann ich auf eine Hinweisseite umleiten.
    Richtig, oder du bindest folgende oder ähnliche Datei automatisch am Anfang jedes Skripts ein:
    PHP-Code:
    <?php

    //ip_geocheck.php

    $blocked_countries = array("DE""US"); 

    $get "http://www.telize.com/geoip/".$_SERVER["REMOTE_ADDR"];
    $curl curl_init(); 
    curl_setopt($curlCURLOPT_URL$get); 
    curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($curlCURLOPT_HEADERfalse); 
    $IPinfo curl_exec($curl); 
    curl_close($curl); 

    $IPinfo json_decode($IPinfo);
    $country_fullName $IPinfo->country;
    $country $IPinfo->country_code
    if(
    in_array($country$blocked_countries)){
      
    ?>
      <?php header("Content-type: text/html; charset=UTF-8"); ?>
      <!doctype HTML>
      <html>
        <head>
          <meta charset="UTF-8">
          <title>Your IP has been blocked</title>
       </head>
       <body>
          <h1>Your IP has been blocked</h1>
          <p>Your IP <?php echo $_SERVER["REMOTE_ADDR"]; ?> has been blocked because it is associated with a region in <?php echo $country_fullName?>.<br>If You think You see this message erroneously, please <a href="mailto:webmaster@example.org" title="contact the webmaster">contact the webmaster</a>!</p>
        </body>
      </html>

      <?php
      
    die(); 
    }
    ?>
    Die automatische Einbindung erledigst du mit einer Zeile in der .htaccess: php_value auto_prepend_file "./ip_geocheck.php"
    Geändert von j-l-n (23-07-2014 um 12:31 Uhr) Grund: kleinen Fehler ausgebessert
    dbarthel likes this.

  9. #9
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    AW: Länderfilter

    Ich nehme an, das wäre dann besser, weil sonst ja jemand die Weiterleitung abschalten könnte.
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

  10. #10
    j-l-n Guest

    AW: Länderfilter

    Zitat Zitat von dbarthel Beitrag anzeigen
    Ich nehme an, das wäre dann besser, weil sonst ja jemand die Weiterleitung abschalten könnte.
    Naja, es würde ihm wenig bringen, weil er dann nur eine blanke Seite sieht. Das wichtige ist, auf keinen Fall die(); zu vergessen, damit die weitere Skriptausführung verhindert wird.
    Geändert von j-l-n (20-07-2014 um 17:18 Uhr) Grund: inline-Tag repariert

  11. #11
    SteelWheel ist offline Haudegen
    registriert
    18-07-2012
    Beiträge
    600

    AW: Länderfilter

    Hi zusammen, ich benutze diesen hier aktiv: IP-2-Country ... die Daten liegen in meiner eigenen DB und machen daher eine externe Anfrage an andere Anbieter nicht erforderlich.

    Das Projekt stellt folgende Informationen:
    Code:
    Array(
        [IP_FROM] => 3585376256
        [IP_TO] => 3585384447
        [REGISTRY] => RIPE
        [ASSIGNED] => 948758400
        [CTRY] => PL
        [CNTRY] => POL
        [COUNTRY] => POLAND
        [IP_STR] => 213.180.138.148
        [IP_VALUE] => 3585378964
        [IP_FROM_STR] => 127.255.255.255
        [IP_TO_STR] => 127.255.255.255
    )
    Im Projekt limitiere ich auf "CNTRY" - mein Projekt ist mit Abfragen auf DEU, AUT und CHE limitiert (aufgrund Performance, da ich echt Knallkörper hatte, die Scans in Fernost gemacht hatten).

    Aber das ist sehr zuverlässig wie schnell - mit ein wenig Aufwand (Daten manchmal zu aktualisieren).

    Beste Grüße

  12. #12
    j-l-n Guest

    AW: Länderfilter

    Zitat Zitat von SteelWheel Beitrag anzeigen
    die Daten liegen in meiner eigenen DB und machen daher eine externe Anfrage an andere Anbieter nicht erforderlich.
    Natürlich kann man auch direkt die in PHP eingebaute Funktion PHP: GeoIP - Manual nutzen. Bei shared hosting gibt es da aber oft Probleme mit der erforderlichen lokalen Datenbank.

  13. #13
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    AW: Länderfilter

    Zitat Zitat von Julian Beitrag anzeigen
    Natürlich kann man auch direkt die in PHP eingebaute Funktion PHP: GeoIP - Manual nutzen. Bei shared hosting gibt es da aber oft Probleme mit der erforderlichen lokalen Datenbank.
    Ich glaube, da muss ich mich erst einlesen!

    Das ganze soll bei mir aber doch recht zeitnah umgesetzt werden und einfach nur den Abuse etwas zurück schrauben; ganz wird dies natürlich nicht gelingen (Gründe wurden genannt).
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

  14. #14
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: Länderfilter

    Zitat Zitat von dbarthel Beitrag anzeigen
    VPNs würden IPs aus dem privaten IP-Bereich zuweisen, quasi so als ob man in einem Firmebnetzwerk ist.
    Nur zur Klärung: der VPN vergibt an denjenigen, der sich einwählt ein private IP, über die er dann mit dem VPN und dem Netzwerk, das dahinter sitzt, reden kann. Der VPN redet dann aber mit der Außenwelt ganz normal mit einer öffentlichen IP (wenn der VPN als Relay ausgelegt und betrieben wird). Ist genauso wie mit deinem Router zu Hause. Deswegen ja der Name: virtual private network.

  15. #15
    Avatar von dbarthel
    dbarthel ist offline Haudegen
    registriert
    11-06-2014
    Beiträge
    641

    AW: Länderfilter

    Also zumindest bei Cyberghost und hide.me konnte ich es auch beobachten, das, wenn ich mit aktivem VPN auf wieistmeineip gehe, die angezeigte IP vorn drei Stellen hat, insofern habe ich dem Kollegen geglaubt.
    Geändert von dbarthel (23-07-2014 um 12:26 Uhr)
    QR-Code scannen, das beste Fachforum für PHP & Javascipt entdecken.


    PS:

    Das Wort 'Kunst' kommt von Können und nicht von Wollen, denn sonst müsste es 'Wunst' heißen.



    שלום

Seite 1 von 2 12 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •