Thomas L.: Referrer der 404.html

Hallo @ all,

ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen. Ich möchte so eventuelle Schwachstellen der Website ausschalten.

Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

Weiß hier jemand Rat?

Danke schon mal im voraus.

Gruß Thomas L.

  1. ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen. Ich möchte so eventuelle Schwachstellen der Website ausschalten.

    Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

    Selber wenn du PHP verwenden könntest, würde nicht herausfinden können, woher die User kommen. Du bräuchtest Zugriff auf die Serverkonfigurationsdateien, beim Apache wäre das die httpd.conf. Du hast es höchstwahrscheinlich nicht, also bleibt dir nichts anderes übrig, als mit htaccess zu arbeiten. Lese dazu bitte http://www.lerneniminternet.de/htm/fehler_404.html.

    Digitalis

    1. hallo Herzgift,

      Du bräuchtest Zugriff auf die Serverkonfigurationsdateien, beim Apache wäre das die httpd.conf.

      Warum denn das?

      Du hast es höchstwahrscheinlich nicht, also bleibt dir nichts anderes übrig, als mit htaccess zu arbeiten. Lese dazu bitte http://www.lerneniminternet.de/htm/fehler_404.html.

      Mal abgesehen davon, daß es "lies" heißen müßte: warum willst du nicht das Angebot zu .htacces, das es im SELFRAUM doch in genügender Menge gibt, nutzen?

      Nur ist .htacces für die Frage im OP nur sehr beschränkt nützlich.

      Grüße aus Berlin

      Christoph S.

  2. hallo,

    ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen.

    Frage die logs deines Servers danach.

    Da dies eine einfache HTML-Datei ist

    Das ist ein 404er nur dann, wenn das vom Server explizit so vorgegeben wird.

    kann hier kein PHP-Script eingebunden werden.

    Warum, ums Himmelswillen, muß es denn immer nur PHP sein?

    Grüße aus Berlin

    Christoph S.

    1. Hallo,

      Frage die logs deines Servers danach.

      Darauf habe ich leider keinen Zugriff.

      Das ist ein 404er nur dann, wenn das vom Server explizit so vorgegeben wird.

      Und das ist doch wohl der Regelfall, oder? Ich habe diese Datei vom Provider zur Verfügung gestellt bekommen.

      Warum, ums Himmelswillen, muß es denn immer nur PHP sein?

      Wie ist dies sonst lösbar?

      Gruß Thomas L.

  3. Hallo Thomas.

    ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen. Ich möchte so eventuelle Schwachstellen der Website ausschalten.

    Hast du Zugriff auf die Serverlogs?

    Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

    Die Auswertung per PHP wäre sowieso nicht verlässlich.

    Einen schönen Donnerstag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. hi,

      Die Auswertung per PHP wäre sowieso nicht verlässlich.

      Da die Referrer manipulierbar sind, ist _keine_ Auswertung verläßlich. Allerdings kann man sich auch darauf verlassen, daß "normale Seitenbesucher" zu mehr als 90 Prozent davon keine Ahnung haben und also ihre Referrer nicht fälschen (lassen).

      Ich kriege in meinen Server-logs ziemlich aussagefähige Referrer geliefert.

      Grüße aus Berlin

      Christoph S.

      1. Hallo Christoph.

        Ich kriege in meinen Server-logs ziemlich aussagefähige Referrer geliefert.

        Es geht ja nicht um die Mutwillige Fälschung, sondern die oft unbewusste Unterdrückung des Referers aufgrund einer Desktop-Firewall, deren Bedienung den meisten unbedarften Surfern unbekannt ist.

        Einen schönen Donnerstag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. hallo Ashura,

          Es geht ja nicht um die Mutwillige Fälschung, sondern die oft unbewusste Unterdrückung des Referers aufgrund einer Desktop-Firewall, deren Bedienung den meisten unbedarften Surfern unbekannt ist.

          Schon richtig. Den Hinweis war ja auch "hilfreich", und ich hab ihn auch so bewertet.

          Grüße aus Berlin

          Christoph S.

    2. echo $begrüßung;

      Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

      Die Auswertung per PHP wäre sowieso nicht verlässlich.

      Das liegt aber nicht an PHP. Im Logfile landet die gleiche Angabe, die PHP auch zu sehen bekommt.

      echo "$verabschiedung $name";

    3. Hallo,

      Hast du Zugriff auf die Serverlogs?

      Leider nein

      Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

      Die Auswertung per PHP wäre sowieso nicht verlässlich.

      Wie ist dies sonst möglich? Kennst du hier Alternativen?

      Vielen Dank schon mal

      Gruß Thomas L.

      1. Hallo Thomas.

        Hast du Zugriff auf die Serverlogs?
        Leider nein

        [...]

        Wie ist dies sonst möglich? Kennst du hier Alternativen?

        Würde ich weitere verlässliche Alternativen kennen, würde ich nich nur nach den Serverlogs fragen.

        Ein Hoster, der seinem Kunden keinen Zugriff auf die von diesem Kunden verursachten Logfiles erlaubt, taugt in meinen Augen nichts.

        Einen schönen Freitag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
  4. echo $begrüßung;

    ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen. Ich möchte so eventuelle Schwachstellen der Website ausschalten.

    Der Webserver sollte sich so konfigurieren lassen, dass Logfiles den Referrer enthalten, wenn das nicht sowieso schon im Standard-Logformat so eingestellt ist.

    Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

    Doch doch, du musst dann nur den Webserver so konfigurieren, dass er auch Dateien mit der Endung html durch PHP schickt.

    Außerdem ist es nicht zwingend erforderlich, dass das Fehlerdokument 404.html heißt. Es sollte sich auch beispielsweise ein 404.php konfigurieren lassen.

    echo "$verabschiedung $name";

    1. Hallo,

      Der Webserver sollte sich so konfigurieren lassen,

      Leider kann ich den Server nicht konfigurieren :-(

      Doch doch, du musst dann nur den Webserver so konfigurieren, dass er auch Dateien mit der Endung html durch PHP schickt.

      Ich habe keine Möglichkeit, auf die Einstellung zuzugreifen (siehe oben)

      Außerdem ist es nicht zwingend erforderlich, dass das Fehlerdokument 404.html heißt. Es sollte sich auch beispielsweise ein 404.php konfigurieren lassen.

      Die 404.html ist mir aber explizit vom Provider zur Verfügung gestellt worden.

      Gruß Thomas L.

  5. Moin!

    ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen. Ich möchte so eventuelle Schwachstellen der Website ausschalten.

    Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.

    Fassen wir zusammen:
    1. Die Datei heißt zwingend 404.html und kann nur statisches HTML enthalten - allenfalls ergänzt durch clientseitiges Javascript.
    2. Du hast keine Logfiles, an die du kommen kannst.
    3. Du kannst auch keine .htaccess-Datei nutzen.

    Dann folgt daraus: Dein Wunsch ist nicht erfüllbar. Damit du davon erfährst, dass ein Client überhaupt einen 404-Fehler gekriegt hat, muss diese Information ja irgendwie vom Server gesammelt und dir dann zur Verfügung gestellt werden. Dies geschieht normalerweise per Logfile. Alternativ per Skript (z.B., aber nicht ausschließlich, in PHP).

    Wenn du keine Skriptmöglichkeit hast, muss das Logfile herhalten. Fehlt auch das Logfile, sind keine weiteren Möglichkeiten gegeben, die Information "Dieser Request ist 404" zu verarbeiten und zu speichern für die spätere Auswertung.

    Als Alternative bleibt, zur Prüfung deiner eigenen internen Verlinkung auf der Site einen Linkchecker (z.B. den vom W3C, http://validator.w3.org/checklink) zu benutzen.

    Auf externe Seiten hast du keinen Einfluß, und du solltest dir über falsche Links auf diesen Seiten auch nicht so viele Gedanken machen. Wer dort einen Link falsch eingegeben hat, würde dich ja sonst zwingen, deine Site ständig nach den Tippfehlern fremder Webmaster auszurichten.

    Und sofern du deine Site umstrukturierst, halte dich an den wichtigsten Tipp des W3C: "Cool URIs don't change". Wenn du deine Seitennamen nicht änderst, oder zumindest Weiterleitungen auf deren neue Ziele setzt, dann werden auch Links auf externen Seiten immer funktionieren.

    - Sven Rautenberg