FSage: Apache Referrer Blacklist

Hallo,

besteht die Möglichkeit beim Apache Webserver bestimmte Referrer
zu blacklisten - so mittels .htaccess oder so etwas?

Danke
FSage

  1. hallo,

    besteht die Möglichkeit beim Apache Webserver bestimmte Referrer
    zu blacklisten

    Was meinst du damit  -  willst du irgendwelche Leute davon abhalten, deine Adresse aufzurufen? Das geht zumindest teilweise mit "deny" und "allow".

    Grüße aus Berlin

    Christoph S.

    1. Helo,

      Was meinst du damit  -  willst du irgendwelche Leute davon abhalten,
      deine Adresse aufzurufen? Das geht zumindest teilweise mit "deny"
      und "allow".

      Meine Seite wird von einer anderen - für mich sinnfreien - Seite verlinkt.
      Nun habe ich nicht die Absichten hier gleich irgendwas rechtliches
      in Bewegung zu setzen. Daher würde ich gerne so eine Art Blacklist
      haben, in der eben solche IPs enthalten sind und dadurch gefiltert
      werden. Ist so etwas mir "allow" nze. "deny" möglich?

      FSage

      1. hallo,

        ... würde ich gerne so eine Art Blacklist haben, in der eben solche IPs enthalten sind und dadurch gefiltert werden. Ist so etwas mir "allow" nze. "deny" möglich?

        Kurze Antwort: ja, es ist möglich, mit "deny from ..." bestimmte IPs auszusperren, siehe auch http://httpd.apache.org/docs-2.0/mod/mod_access.html#deny.

        Grüße aus Berlin

        Christoph S.

        1. abend,

          --

        2. hi,

          ... würde ich gerne so eine Art Blacklist haben, in der eben solche IPs enthalten sind und dadurch gefiltert werden. Ist so etwas mir "allow" nze. "deny" möglich?

          Kurze Antwort: ja, es ist möglich, mit "deny from ..." bestimmte IPs auszusperren, siehe auch http://httpd.apache.org/docs-2.0/mod/mod_access.html#deny.

          ich sehe nur nicht, was ihm das hier nützen soll - er will die verlinkung von der anderen seite aus unterbinden (also wohl einen 403 forbidden zurückliefern, nehme ich an).
          die besucher dieser seite haben aber keine feste IP - und die IP, unter der die seite läuft, nützt hier wenig als kriterium, weil die client der besucher vermutlich nicht auf dem server dieser anderen seite laufen.

          deshalb war die frage nach dem referrer schon eher die in die richtige richtung.

          http://httpd.apache.org/docs/mod/mod_access.html.en#allow beschreibt unten im beispiel, wie man bezug auf eine environment-variable nimmt. wenn man dort statt dem user agent den referrer verwendet, sollte es m.E. klappen.

          ich selbst habe dazu in meinem blog mod_rewrite benutzt, um den "sex-spam" in den referrern einzugrenzen, siehe http://wazgnuks.net/blog/66. vielleicht sollte ich das auch mal auf allow/deny umstellen ... evtl. performanter, als mod_rewrite an der stelle.

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
          1. hi,

            ... würde ich gerne so eine Art Blacklist haben, in der eben solche IPs enthalten sind und dadurch gefiltert werden. Ist so etwas mir "allow" nze. "deny" möglich?
            Kurze Antwort: ja, es ist möglich, mit "deny from ..." bestimmte IPs auszusperren, siehe auch http://httpd.apache.org/docs-2.0/mod/mod_access.html#deny.
            ich sehe nur nicht, was ihm das hier nützen soll

            Nun, es kam explizit der Hinweis darauf, daß die gewünschte "blacklist" IP-Adressen enthalten soll.

            die besucher dieser seite haben aber keine feste IP - und die IP, unter der die seite läuft, nützt hier wenig als kriterium, weil die client der besucher vermutlich nicht auf dem server dieser anderen seite laufen.

            Das ist leider ein sehr ernstzunehmender Hinweis.

            http://httpd.apache.org/docs/mod/mod_access.html.en#allow beschreibt unten im beispiel, wie man bezug auf eine environment-variable nimmt. wenn man dort statt dem user agent den referrer verwendet, sollte es m.E. klappen.

            Könnte funktionieren, ich hab das aber noch nicht probiert und wüßte im Moment auch nicht genau, wie ich das über den lokalen Apache mal testen sollte.

            ich selbst habe dazu in meinem blog mod_rewrite benutzt, um den "sex-spam" in den referrern einzugrenzen, siehe http://wazgnuks.net/blog/66. vielleicht sollte ich das auch mal auf allow/deny umstellen ... evtl. performanter, als mod_rewrite an der stelle.

            Interessante Frage. Ja, ich halte das für effektiver ("performant" ist meines Erachtens hier nicht das Kriterium, das du suchst), habe aber ebenfalls noch nie einen entsprechenden Vergleich angestellt und kann mich irren.

            Grüße aus Berlin

            Christoph S.

            1. hi,

              Interessante Frage. Ja, ich halte das für effektiver ("performant" ist meines Erachtens hier nicht das Kriterium, das du suchst)

              doch, eigentlich schon :-)

              meine rewriterule für diesen falle gilt ja vom webroot aus - also blocke ich damit auch _jede_ anfrage auf irgendeine beliebige ressource, die du von meiner domain über HTTP anfordern kannst, wenn mir dein referrer nicht passt.

              mit allow/deny unter einbeziehung einer solchen SetEnvIf-variablen könnte ich also genau das gleiche realisieren - nur halt schon eine "stufe" vorher in der request-abarbeitung des apachen (so stelle ich mir das zumindest technisch vor).

              "effektiv" würde es also keinen unterschied machen - "sex" im domain-part deines referrers enthalten, bekommst du von mir nur einen 403er. wie im blog-eintrag geschrieben, auch von lustige-gaswerksexplosionen.de erreichst du meine seite dann leider nicht mehr - nehme ich in kauf ;-).

              nur die frage, ob es von der _performance_ her einen unterschied macht, wäre m.E. hier also noch interessant.
              ich würde halt vermuten, dass der apache, wenn er nicht erst mod_rewrite "anschmeißen" muss, sondern sich bereits eine ebene vorher darum kümmern kann, das ganze ein wenig performanter handelt.

              allerdings ist mir auch klar, dass der performance-"gewinn" hier nur so marginal sein wird, dass er vermutlich nicht mal richtig messbar wäre - also eher eine theoretische überlegung.

              gruß,
              wahsaga

              --
              "Look, that's why there's rules, understand? So that you _think_ before you break 'em."