Referer adden frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Referer adden frage

    Hi Ihr Freaks

    Ich habe mir für mein Forum ein kleines Script geschrieben, das mit den HTTP_REFERER in voller Länge mitloggt und in eine Tabelle der SQL-Datenbank schreibt, das klappt auch soweit, bei gleichem Referer wird die Tabelle +1 hochgezählt, auch das klappt.

    Das Problem ist das ich in dieser Tabelle nun auch die lokalen Referer sehe, sprich Leute die innerhalb meiner Domain auf verschiedenen Seiten rumspringen werden zusätzlich als Referer eingetragen. Ebenfalls werden weitere Domains die ich auf der Seite habe als Referer geloggt. Das wird sehr unübersichtlich, ich möchte diese "lokalen" Referer nun nicht mehr loggen sondern ignorieren, dazu habe ich ein Array erstellt und alle nicht erwünschten Referer dort eingetragen.

    Meine Frage ....die kompletten Referer die ich logge sehen ja so aus:

    http://www.domain.de/test.html

    Wie bekomme ich es hin, das ich ins Array "www.domain.de" eintrage und dann alle Referer die mit www.domain.de anfangen nicht in die Datenbank-Tabelle eingetragen werden.

    Thanks
    Spritzkuchen

  • #2
    PHP-Code:
    <?php
    $domain 
    "http://www.domain.de/test.html";
    $domainteile explode"/"$domain);
    echo 
    $domainteile[2];
    ?>

    Kommentar


    • #3
      Erstmal danke für den Beitrag, die Funktion ist mir bekannt

      Die Frage ist wie der Code aussehen soll.

      Also sagen wir der Referer des Users lautet www.domain.de/testseite.html.
      Mein Array mit der Blackliste sieht z.B. so aus:

      $blackliste = array(
      'www.domain.de'
      );

      Demnach soll dieser Referer ja nicht geloggt werden. Die Frage ist jetzt wie der Code aussehen muss, damit alle Domains die mit www.domain.de beginnen nicht geloggt werden sollen.

      Frage verstanden ?

      Danke
      Spritzkuchen

      Kommentar


      • #4
        sag das doch

        das sollte klappen..

        PHP-Code:
        <?php
        $domains 
        = array (
            
        "www.domain.de",
            
        "www.domai.de",
            
        "www.doma.de",
            
        "www.dom.de",
            
        "www.do.de"
            
        );

        if ( !
        in_array "www.dieDomainZumTesten.de"$domains)) {
            echo 
        "loggen";
        }
        ?>

        Kommentar


        • #5
          Hi,

          demnach müsste der Referer aber exakt www.domain.de sein, oder ? Wenn der User den Referer www.domain.de/[COLOR=red]test.html[/COLOR] hat würde er trotzdem geloggt und nicht in die blacklist fallen, oder ?

          Kommentar


          • #6


            genau aus dem grund hab ich den code dort oben gepostet!

            bevor du die user domain mit den domains aus deiner liste vergleichst mußt du sie natürlich in das selbe "format" bringen

            hier die kombination aus beiden skripts
            PHP-Code:
            <?php
            $domains_no_tracking 
            = array (
                
            "www.domain.de",
                
            "www.domai.de",
                
            "www.doma.de",
                
            "www.dom.de",
                
            "www.do.de"
                
            );

            // hier musst du die RefererUrl einsetzen
            $user_domain "http://www.RefererUrl.de/mit/einpaar/verzeichnissen/und/dateien.html";
            $user_domain_teile explode"/"$user_domain);

            if ( !
            in_array $user_domain_teile[2], $domains_no_tracking)) {
                echo 
            "loggen";
            }
            ?>

            Kommentar


            • #7
              PHP-Code:
              $ref getenv("HTTP_REFERER");
              $host "http://" getenv("HTTP_HOST");
              $host1 "http://www." getenv("HTTP_HOST");
              if(
              $host!=substr($ref,0,strlen($host))&&$host1!=substr($ref,0,strlen($host1))){
                  
              // hier Referer loggen

              geht immer, ohne Domainangabe
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #8
                Danke Euch beiden, hat prima geklappt !

                Kommentar


                • #9
                  Nun tut sich die nächste Frage auf

                  Ich würde die "Blackliste" der Domains gerne über meine SQL-Datenbank pflegen, sprich ich habe eine Tabelle angelegt in die ich alle "Blacklist-Domains" eintrage, das klappt auch soweit.

                  Ich benötige nun eine Überprüfung ob die Domain auch eine Domain ist Also wenn der User als Domain www.test eingibt soll sie abgelehnt werden weil sie nicht korrekt im Format www.xxxxxx.de ist. Ich muss also den String auf Gültigkeit checken, hat jemand eine Idee wie man das am besten macht ?

                  Danke
                  Stefan

                  Kommentar

                  Lädt...
                  X