Suchmaschine ignorieren

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

  • Suchmaschine ignorieren

    Pseudocode
    PHP-Code:
    function start_session() {
      return 
    no_search_engine() and no_mail_picker();
    }

    if (
    start_session()) {
      
    session_start();
      
    $sess_id session_id();
    } else 
    $sess_id 'NO SESSION'
    So starte ich eine Session nur dann, wenn keine Suchmaschine daherkommt und auch kein Mailsammler (oder Code-Validator, oder oder oder)

    Ich habe eine Tabelle für benutzer, eine für Benutzer, die momentan online sind (nötig, da mehr als ein Gast gleichzeitig online sein kann) und eine Tabelle für die Stasitistik.
    In dieser Tabelle speichere Aktionen, die durchgeführt werden inklusiver User-ID, wie z. B. An-/Abmelden, Beiträge anlegen/editieren/freischalten/löschen/..., Vergessene Passwörter zusenden lassen, ...

    Das funktioniert auch alles wunderbar, allerdings will ich auch nachvollziehen können, wann ein Gast die Seite betreten hat und auf welche Seite er initial gekommen ist (Startseite, Impressum, ...)
    Ich mache also prinzipiell folgendes
    PHP-Code:
    if (!$_SESSION['logged_in'] and !$_SESSION['guest_access_logged']) {
      
    $_SESSION['guest_access_logged'] = true;
      
    $this->log_action('GUEST_ACCESS');

    In der Methode log_action wird dann der Eintrag in die Tabelle vorgenommen.
    Dummerweise starte ich bei Suchmaschinen aber keine Session, so dass ich beim Aufruf der zweiten Seite durch die Suchmaschine nicht auf $_SESSION['guest_access_logged'] zugreifen kann, daher bekomme ich für jeden Aufruf jeder Seite einen neuen Eintrag und die Tabelle wird zugemüllt.

    Wie kann ich einerseits dafür sorgen, dass Suchmaschinen keine Links mit Session-ID bekommen, andererseits aber nicht die Tabelle zumüllen?
    EDIT:
    Mir fiele nur ein, dass ich den Zeitpunkt des letzten GUEST_ACCESS von $_SERVER['REMOTE_ADDR'] auslese, wenn in $sess_id NO SESSION steht.
    Wenn der nicht länger als x Minuten zurückliegt, dann gibt's nen neuen Eintrag, anderenfalls nicht

    Zuletzt geändert von mrhappiness; 11.01.2005, 13:34.
    Ich denke, also bin ich. - Einige sind trotzdem...

  • #2
    Glaub mein Ansatz geht in die Richtung deines Edits.

    Du checkst ja, obs ne Suma ist, oder nicht. Wenns eine ist, einfach nachsehen, ob ein junger Eintrag vorhanden ist (am UserAgent/IP/etc. könnten zur genauen identifikation dienen.

    Kommentar


    • #3
      Ich finde zu den Funktionen no_search_engine() and no_mail_picker(); keine referenz, kann mir einer helfen? Ich möchte ebenfalls die SESSION unterdrücken wenn ein Bot kommt!

      Kommentar


      • #4
        Original geschrieben von indy0130
        Ich finde zu den Funktionen no_search_engine() and no_mail_picker(); keine referenz
        na sowas - könnten das vielleicht selbst geschriebene funktionen sein?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          hihi, wie mache ich die? oder kann ich das gleich besser mit modrewrite machen?

          Kommentar


          • #6
            hihi, wie mache ich die?
            PHP-Code:
            function no_search_engine()
            {

            // hier deine definition


            Ganz einfach.

            oder kann ich das gleich besser mit modrewrite machen?
            Überleg doch bitte, wofür mod rewrite gut ist.

            Kommentar

            Lädt...
            X