Harald: Ausländische Besucher ausschliessen

Hallo,

ich hoffe, es kann mir jemand weiterhelfen oder wenigstens einen Denkanstoss verpassen. Problem: auf unserer Anzeigenseite wird zu viel Spam aus Nigeria, China, etc. aufgegeben. Momentan haben wir dort folgendes gemacht, um alles, was nicht deutsch ist, in eine Endlosschleife zu schicken.

if (!strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], "de"))  
{ header("Location: ?view=post&cityid=-1&lang=de&catid=1"); }

Nur leider scheinen jetzt einige User aus Österreich und der Schweiz auch keine Anzeigen mehr aufgeben zu können.

Gibt es da eine elegantere Lösung, um nur User aus Deutschland, Österreich und der Schweiz zuzulassen ?

  1. Du musst lediglich die Sprachen de_at und de_ch noch in die Liste derer aufnehmen, die Du akzeptierst. Allerdings ist dieser Filter doch allzu leicht clientseitig zu umgehen.

    Insofern solltest Du die IPs der Spammer herausfinden und deren Adressbereich großzügig ausfiltern.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo Harald!

    ich hoffe, es kann mir jemand weiterhelfen oder wenigstens einen Denkanstoss verpassen. Problem: auf unserer Anzeigenseite wird zu viel Spam aus Nigeria, China, etc. aufgegeben. Momentan haben wir dort folgendes gemacht, um alles, was nicht deutsch ist, in eine Endlosschleife zu schicken.

    Handelt es sich etwa um diese Art von Spam, die TB hier beschreibt: https://forum.selfhtml.org/?t=183681&m=1216733?

    Wie auch immer, besser ist, dafür zu sorgen, dass der Spam nicht durchkommt, anstatt User anhand Ihrer Sprache nicht drurchkommt. Derjenige, der das Programm zur Anzeigenaufgabe geproggt hat, soll das eben überprüfen...

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
  3. Gibt es da eine elegantere Lösung, um nur User aus Deutschland, Österreich und der Schweiz zuzulassen ?

    Nur näherungsweise Aufgrund der IP-Adresse (REMOTE_ADDR)- aber von der im Browser eingestellten Sprache auf das Herkunftsland zu schließen ist mindestens genausp unsinnig wie Flaggen als Symbole für Sprachen zu verwenden.

    Eine 100%ige Lösung ist technisch unmöglich, da es sich um ein soziales Problem handelt.

  4. Momentan haben wir dort folgendes gemacht, um alles, was nicht deutsch ist, in eine Endlosschleife zu schicken.

    Noch etwas: es ist äußerst unklug, deinen Server mit einer Endlosschleife zu belasten, da diese Form immer wieder HTTP-Requests auslöst. Sontal fällt mir ein dem Client vorzugaukeln, es kämen noch Daten - z.B. eine chunked-Übertragung vortäuschen und die folgende HTTP-Antworten niemals senden.

  5. Hi!

    Gibt es da eine elegantere Lösung, um nur User aus Deutschland, Österreich und der Schweiz zuzulassen ?

    Aha. Und wann darf ich auf Deine Seite? Nur so als Tipp: Wenn ich z.b. auf der Arbeit bin habe ich die IP eines anderen Landes aund auch mein ganzes System schreit: NICHT DEUTSCH.

    Oh. Und angenommen, mein Kollege ist irgendwie Kunde bei Deiner Seite und befindet sich jetzt im Sommer bei seinen Schwiegereltern. Warum sollter denn bitte aus China dei Seite nicht checken dürfen?

    Filtert lieber eure Daten ordentlich. Und wenns manuell ist.

    suit hat recht, wenn er Dich drauf aufmerksam macht, daß Du ein soziales Problem hast.

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett
    1. Hi,

      Aha. Und wann darf ich auf Deine Seite? Nur so als Tipp: Wenn ich z.b. auf der Arbeit bin habe ich die IP eines anderen Landes aund auch mein ganzes System schreit: NICHT DEUTSCH.

      ja und dann hast du dadurch(nicht deutschen IP) auch auf vielen bekannten Seiten entweder Einschränkungen oder Sonderrechte.

      Also was regst du dich auf?

      Mario

      1. Hi,

        »» Aha. Und wann darf ich auf Deine Seite? Nur so als Tipp: Wenn ich z.b. auf der Arbeit bin habe ich die IP eines anderen Landes aund auch mein ganzes System schreit: NICHT DEUTSCH.
        »»

        ja und dann hast du dadurch(nicht deutschen IP) auch auf vielen bekannten Seiten entweder Einschränkungen oder Sonderrechte.

        Aha? Die wären? Ausser einigen amerikanischen Seiten ist mir keine bekannt. Ausserdem ist die Wirksamkeit einer Filterung nach IP umgekehrt proportional zur Anzahl der vorhanden Proxyserver. Man hält damit ziemlich genau 0 % der Leute ab, die man abhalten will. Die Harmlosen wissen nämlich nicht, wie man solche Sperren umgeht, bzw, sehen nicht ein, warum sie die Energie aufbringen sollten das zu tun. Genau wie bei allen Schutzmechanismen. Wer sich davon etwas verspricht umgeht diese Mechanismen einfach.

        --
        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
              - T. Pratchett
        1. »» ja und dann hast du dadurch(nicht deutschen IP) auch auf vielen bekannten Seiten entweder Einschränkungen oder Sonderrechte.

          Aha? Die wären? Ausser einigen amerikanischen Seiten ist mir keine bekannt.

          Das wundert mich jetzt aber, wo du doch Stammposter bist.

          Nur mal 2 Beispiele, gibt noch viel, viel mehr....

          // Vorteil Nichtdeutsch
          http://forum.de.selfhtml.org/archiv/2009/1/t182647/#m1208817

          // Nachteil Nichtdeutsch
          http://forum.de.selfhtml.org/archiv/2009/1/t181343/#m1199157

          Ausserdem ist die Wirksamkeit einer Filterung nach IP umgekehrt proportional zur Anzahl der vorhanden Proxyserver. Man hält damit ziemlich genau 0 % der Leute ab, die man abhalten will. Die Harmlosen wissen nämlich nicht, wie man solche Sperren umgeht, bzw, sehen nicht ein, warum sie die Energie aufbringen sollten das zu tun. Genau wie bei allen Schutzmechanismen. Wer sich davon etwas verspricht umgeht diese Mechanismen einfach.

          0% wird wohl ein Trugschluss deinerseits sein. Es ist eher umgekehrt, die meissten werden durch die Einschränkungen behindert und der Rest,d er sich durch einen proxy zu helfen weiss, ist eben Verschnitt.

          Mario

          1. hi $name,

            | Ausserdem ist die Wirksamkeit einer Filterung nach IP umgekehrt proportional zur Anzahl der vorhanden Proxyserver. Man hält damit ziemlich genau 0 % der Leute ab, die man abhalten will. Die Harmlosen wissen nämlich nicht, wie man solche Sperren umgeht, bzw, sehen nicht ein, warum sie die Energie aufbringen sollten das zu tun. Genau wie bei allen Schutzmechanismen. Wer sich davon etwas verspricht umgeht diese Mechanismen einfach.

            0% wird wohl ein Trugschluss deinerseits sein. Es ist eher umgekehrt, die meissten werden durch die Einschränkungen behindert und der Rest,d er sich durch einen proxy zu helfen weiss, ist eben Verschnitt.

            ich würde mich trotzdem lieber um die sicherheit der daten kümmern als solche spielchen zu veranstalten, wenn du an einen spammer/hacker gerätst der über ein botnetz geht hast du auch viele deutsche, schweizer, östereichische IPs dabei...es gibt auch große IP ranges die über viele länder verteilt liegen, wenn die gesperrt werden sind auch deutsche betroffen.

            aber wenn du es nicht lassen kannst: googel mal, es gibt listen wo die einzelnen länder aufgeschlüsselt sind um sie per .htaccess sperren zu können (das man sich damit den server ausbremst brauch ich ja nicht extra zu erwähnen).

            gruss
            shadow

            --
            Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
            1. Hallo,

              aber wenn du es nicht lassen kannst: googel mal, es gibt listen wo die einzelnen länder aufgeschlüsselt sind um sie per .htaccess sperren zu können (das man sich damit den server ausbremst brauch ich ja nicht extra zu erwähnen).

              mit einem einfachen

                  Order Allow,Deny  
                  Deny from all  
              
              

              sperrt man Spam hervorragend aus, ohne sich über Performance Gedanken machen zu müssen :-) Gedanken über inhaltliche Fragen erübrigen sich auch ...

              Freundliche Grüße

              Vinzenz

              1. hi $name,

                mit einem einfachen

                Order Allow,Deny

                Deny from all

                
                > sperrt man Spam hervorragend aus, ohne sich über Performance Gedanken machen zu müssen :-) Gedanken über inhaltliche Fragen erübrigen sich auch ...  
                  
                die perfekte lösung für (alle) probleme, sollte in die FAQ aufgenommen werden :-)  
                  
                gruss  
                shadow
                
                -- 
                Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
                
                1. Yerf!

                  die perfekte lösung für (alle) probleme, sollte in die FAQ aufgenommen werden :-)

                  Meine Meinung ;-)

                  Gruß,

                  Harlequin

                  --
                  <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
          2. Hi!

            Das wundert mich jetzt aber, wo du doch Stammposter bist.

            is das so? *rotwerd*

            Nur mal 2 Beispiele, gibt noch viel, viel mehr....

            // Vorteil Nichtdeutsch
            http://forum.de.selfhtml.org/archiv/2009/1/t182647/#m1208817

            Du uebersiehst hierbei dass es sich scheinbar um ein rechtliches Problem handelt. Eines dieser albernen Problemchen denen man im Web so oft begegnet.

            // Nachteil Nichtdeutsch
            http://forum.de.selfhtml.org/archiv/2009/1/t181343/#m1199157

            Hier haben wir auch ein rechtliches Problem, das eher provisorisch durch IP-Ueberpruefung geloest wird. Das ganze gibts aber auch umgekehrt fuer amerikanische IPs. Darueber regt sich mein Chef auf. Er als Amerikaner moechte gern darauf zugreifen, kann es privat aber nicht. Is natuerlich boed, dass die dt. Version keine originale zur Verfuegung stellt. Vielleicht waer sie dann auch etwas interessanter. Was stimmt: Bei sowas sind Proxies meist nicht gerade die ideale Loesung, da deren Bandbreite meist doch eher gering ist.

            »» Ausserdem ist die Wirksamkeit einer Filterung nach IP umgekehrt proportional zur Anzahl der vorhanden Proxyserver. Man hält damit ziemlich genau 0 % der Leute ab, die man abhalten will. Die Harmlosen wissen nämlich nicht, wie man solche Sperren umgeht, bzw, sehen nicht ein, warum sie die Energie aufbringen sollten das zu tun. Genau wie bei allen Schutzmechanismen. Wer sich davon etwas verspricht umgeht diese Mechanismen einfach.

            0% wird wohl ein Trugschluss deinerseits sein. Es ist eher umgekehrt, die meissten werden durch die Einschränkungen behindert und der Rest,d er sich durch einen proxy zu helfen weiss, ist eben Verschnitt.

            Noe. Die Spammer die das unbedingt wollen, wirst Du damit nicht abhalten. Darum geht es ja. Das was Du als Verschnitt bezeichnest sind zum grossen Teil die User, gegen die man eigentlich nichts hat.

            Mal als kleines Beispiel:

            Kaum ein Unternehmen der Welt kann es sich entgehen lassen uns als Kunden zu bekommen. Wenn also unsere Angestellten eine Unternehmensseite nicht erreichen koennen, weil sie nur deutsche Zugriffe erlaubt, ist das nen gewaltiger Schuss ins Knie. Sollten wir also wirklich mal aktiv Interesse zeigen aber damit wegen sowas keinen Erfolg haben, tut das wirklich weh. Normalerweise lassen wir zu uns kommen und suchen uns aus, mit wem wir Geschaefte betreiben. Wir haben es nicht noetig 'uns irgendwo als Kunde zu bewerben.'

            Sei dir versichert: waere ich ein Unternehmer und erfahre, das sich ein international fuehrendes Unternehmen fuer meine Dienstleistungen oder Produkte interessiert hat, aber aufgrund irgendeiner IP-Geschichte meine Angebote auf der Webseite nicht wahrnehmen konnte, wuerdest Du, der diese Geschichte unterstuetzt hat, Dir einen neuen Job suchen koennen.

            Es ist im Allgemeinen einfach keine besonders gute Idee.

            --
            "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                  - T. Pratchett
            1. Hi,

              Du uebersiehst hierbei dass es sich scheinbar um ein rechtliches Problem handelt. Eines dieser albernen Problemchen denen man im Web so oft begegnet.

              nein, dessen bin ich mir voll bewusst.

              Noe. Die Spammer die das unbedingt wollen, wirst Du damit nicht abhalten. Darum geht es ja. Das was Du als Verschnitt bezeichnest sind zum grossen Teil die User, gegen die man eigentlich nichts hat.

              Ja in dem Beispiel des OP, du klangst aber so in etwa wie: "Ich lass mich nicht bevormunden welche Seite ich mir anschauen darf... Du willst mich in meiner Freiheit einschränken, falls ich mal im Ausland oder sonstwo bin... Das empfinde ich als persönliche Beleidigung..."

              Vielleicht irre ich mich ja, aber so kam es auf mich rüber.

              Sei dir versichert: waere ich ein Unternehmer und erfahre, das sich ein international fuehrendes Unternehmen fuer meine Dienstleistungen oder Produkte interessiert hat, aber aufgrund irgendeiner IP-Geschichte meine Angebote auf der Webseite nicht wahrnehmen konnte, wuerdest Du, der diese Geschichte unterstuetzt hat, Dir einen neuen Job suchen koennen.

              Das passt jetzt aber auch nicht so ganz zu dem OP, es geht um ein Anzeigenportal in deutsch, ok, warum nicht, in einer reinen Männersauna dürfen auch(leider ;-) keine Frauen rein, und umgekehrt.

              Mario

              1. Hoi!

                Ja in dem Beispiel des OP, du klangst aber so in etwa wie: "Ich lass mich nicht bevormunden welche Seite ich mir anschauen darf... Du willst mich in meiner Freiheit einschränken, falls ich mal im Ausland oder sonstwo bin... Das empfinde ich als persönliche Beleidigung..."

                Vielleicht irre ich mich ja, aber so kam es auf mich rüber.

                Stimmt. Der OP will Spammer bekampfen und keine Chinesen oder Leute die grad in China sind. (hoff ich doch mal) Natuerlich ist ein Kleinanzeigenportal fuer die Bereiche D, AT und CH ein Fall, bei dem man wohl Chinesische und Afrikanische IPs vernachlaessigen kann. Aber warum duerfen denn unsere Niederlaendischen Freunde ihren Papenenburger Nachbarn nichts darueber verkaufen? Eine Aussortierung nach Browsersprache machts nicht besser. Ploetzlich darf die chin. Frau meines Kollegen keine Kleinanzeige aufgeben, weil Ihr System chinesisch ist? Oder mein chef, kann seine coolen Schlagzeugbezuege nicht dort verkaufen, weil er nen 'US-Rechner' hat. Das macht sie boese? Der Spammer der mit einem deutschen System ueber einen deutschen Proxy kommt ist dann per Definition ein gewuenschter Gast.

                »» Sei dir versichert: waere ich ein Unternehmer und erfahre, das sich ein international fuehrendes Unternehmen fuer meine Dienstleistungen oder Produkte interessiert hat, aber aufgrund irgendeiner IP-Geschichte meine Angebote auf der Webseite nicht wahrnehmen konnte, wuerdest Du, der diese Geschichte unterstuetzt hat, Dir einen neuen Job suchen koennen.
                »»

                Das passt jetzt aber auch nicht so ganz zu dem OP, es geht um ein Anzeigenportal in deutsch, ok, warum nicht, in einer reinen Männersauna dürfen auch(leider ;-) keine Frauen rein, und umgekehrt.

                Ja klar hat so ein regionales Anzeigenportal auch seine eigenen Parameter. Trotzdem bekaempft man Spam nicht, indem man Rechner aus Fremden Laendern oder mit fremdspachigen OS aussperrt... Was glaubst Du passiert wohl, wenn auf der ersten Seite ganz gross draufsteht: "Hier duerfen nur Deutsche, Oesterreicher und Schweizer bieten, sofern sie Deutsch als Sprache benutzen" Da sind nicht nur Schweizer, die eben kein Deutsch benutzen angepisst... (Es soll in der Schweiz ja gelegentlich passieren, dass dort andere Sprachen wie z.b. Franzoesisch oder Italienisch benutzt werden.)

                Wenn Du Inhalte verhindern willst, tu das. Verhindere die ungewuenschten Inhalte und sperre keine Leute aus.

                --
                "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                      - T. Pratchett
  6. Danke erstmal für Eure Antworten.

    Also afrikanische IP´s haben wir schon im htaccess gesperrt, aber wie jemand schon erwähnte, benutzen die ganz Schlauen sowieso Proxies.

    Ich werde jetzt erstmal de-at und de-ch noch mit einbauen und dann schauen, wieviele Beschwerden dennoch eintrudeln :-(

  7. Moin!

    ich hoffe, es kann mir jemand weiterhelfen oder wenigstens einen Denkanstoss verpassen.

    Denkanstoss:

    if (!strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], "de"))

    strstr() ist nicht die Funktion, die man verwenden sollte, wenn man nur das Vorhandensein von Strings in anderen Strings prüfen will. strpos() wäre da korrekt.

    Zweitens: Hast du dir mal real auftretende Werte von HTTP_ACCEPT_HEADER angesehen und nachgeprüft, welche Funktionsergebnisse strstr() dir zurückliefert? Ich tippe: Nein!

    Der Rückgabewert ist der String, der inklusive des ersten Auftreten des Suchwortes noch als Rest verbleibt. Alles davor wird abgeschnitten. Solch ein Stringfragment würde ich höchst ungern in das boolsche Typecasting reintun, man weiß einfach nicht genau, was da passiert. Obendrein ist strstr() case-sensitiv, du prüfst also explizit nur auf kleingeschriebenes "de", absolut erlaubt bzw. vorkommend ist aber auch "DE".

    { header("Location: ?view=post&cityid=-1&lang=de&catid=1"); }

    Drittens: Es ist keine gute Idee, eine Endlosschleife zu bauen. Dein Problem ist doch, den Spam loszuwerden. Also warum länger mit solchen als blöd erkannten Requests herumschlagen? Unter der Annahme, dass dein Erkennungsfilter korrekt arbeitet, wäre eine korrekte Antwort das Senden irgendeines 400er-Headers, beispielsweise 403. Und gut ist.

    Gibt es da eine elegantere Lösung, um nur User aus Deutschland, Österreich und der Schweiz zuzulassen ?

    Es gibt keine elegante Lösung. Dein Problem ist ja auch nicht, dass du nur User dieser drei Länder zulassen willst, sondern du willst Spam loswerden. Das ist qualitativ ein ganz anderes Problem.

    - Sven Rautenberg