dedlfix: Fehlermeldung bei $visitor_referer = $_SERVER["HTTP_REFERER"];

Beitrag lesen

Tach!

$visitor_referer = 'Nix';
$visitor_referer = $_SERVER["HTTP_REFERER"]; // HTTP Referer-Link

Meinst Du das quasi so?

Ja.

... aber nur quasi. Denn so wie der Code oben steht, ist es sinn- und wirkungslos. Der Zugriff auf das Array-Element in $_SERVER darf ja nur erfolgen, wenn es da ist, wozu aber seine Existenz geprüft werden muss. Und der Code da oben ist wieder nur ein unbedingter Zugriff, so wie er bereits im Code war.

$mail_text .= "<b><a href='http://$visitor_server$visitor_request'>http://$visitor_server$visitor_request</a></b></p>";

$mail_text .= "<p>HTTP Referer: <b><a href='$visitor_referer'>$visitor_referer</a></b></p>";

$mail_text .= "<p>User Agent: <b>$visitor_agent</b></p>";

Und das sind drei Sicherheitslücken, die beliebigen Code in die Mail einfügen lassen. Referer und User-Agent sind zwei Texte, die nicht nur vom Browser vorgegeben sind, sondern beliebig manipuliert werden können. Bei den anderen Werten müsste man eigentlich adäquat verfahren, aber die sollten eigentlich manipulationssicher sein. Zumindest in der jetzigen Form des Scripts. Wenn du das noch änderst, zum Beispiel dne Absender-Adresse beim Anwender zu erfragen statt einen Wert fest vorzugeben, dann muss da auch noch was getan werden, wenn du keine ausnutzbare Spamschleuder bauen möchtest. So werden die Sicherheitslücken entschärft:

$mail_text .= '<b><a href="http://' + $visitor_server + urlencode($visitor_request) + '">http://' + $visitor_server + htmlspecialchars($visitor_request) + '</a></b></p>';

$mail_text .= '<p>HTTP Referer: <b><a href="' . htmlspecialchars($visitor_referer) + '">$visitor_referer</a></b></p>';

$mail_text .= '<p>User Agent: <b>' + htmlspecialchars($visitor_agent) + '</b></p>';

dedlfix.

0 62

Fehlermeldung bei $visitor_referer = $_SERVER["HTTP_REFERER"];

oxo888oxo
  • php
  1. 0
    Matthias Apsel
    1. 0
      oxo888oxo
      1. 0
        Matthias Apsel
        1. 0
          dedlfix
          1. 0
            Auge
            1. 0
              dedlfix
              1. 0

                $_SERVER["SERVER_NAME"], $_SERVER['HTTP_HOST'] und das DNS

                Regina Schaukrug
                • apache
                • php
                • webserver
                1. 0
                  dedlfix
                  1. 0
                    Regina Schaukrug
    2. 0
      Gunnar Bittersmann
      1. 0
        dedlfix
    3. 0
      pl
      1. 0
        dedlfix
  2. 3

    WARNUNG!

    Regina Schaukrug
    • php
    • sicherheit
    1. 0
      Julius
    2. 0
      oxo888oxo
      1. 0
        dedlfix
        1. 0
          Regina Schaukrug
          1. 3
            dedlfix
            1. 0
              Regina Schaukrug
              1. 1
                Auge
                • sicherheit
                • software
        2. 0
          oxo888oxo
    3. 2
      Reiner Makohl
      1. 0

        Verbesserungen

        dedlfix
        1. 0

          Nochmal weiter angepasst

          oxo888oxo
          1. 0
            dedlfix
            1. 0
              oxo888oxo
        2. 0
          oxo888oxo
          1. 0

            Zeilenumbrüche gehen nicht

            oxo888oxo
            1. 0
              Auge
              1. 0
                oxo888oxo
                1. 0
                  Auge
                  1. 0
                    oxo888oxo
          2. 0
            dedlfix
            1. 0
              oxo888oxo
              1. 0

                Wozu diese komplexen Einzeiler?

                Regina Schaukrug
                1. 0
                  oxo888oxo
                  1. 0
                    Regina Schaukrug
              2. 0
                dedlfix
                1. 0
                  oxo888oxo
        3. 0
          Regina Schaukrug
          1. 0
            Regina Schaukrug
      2. 1
        Regina Schaukrug
        1. 3
          Reiner Makohl
          1. 2
            Tabellenkalk
            • sicherheit
            • zu diesem forum
      3. 0
        Julius
  3. 0

    Doch noch ein Fehler: Undefined variable

    oxo888oxo
    1. 0
      dedlfix
      1. 0
        oxo888oxo
  4. 0

    Neue und endgültige Version?

    oxo888oxo
    1. 0
      dedlfix
      1. 0
        oxo888oxo
    2. 0
      Daniel Duden
      1. 1
        Julius
        • php
        • sprache
      2. 0
        oxo888oxo
  5. 0

    Script nun noch weiter reduziert

    oxo888oxo
    1. 0

      Error-Reporting

      oxo888oxo
      1. 0
        dedlfix
    2. 0
      dedlfix
      1. 0
        Regina Schaukrug
        • php
        • sicherheit
        1. 0
          dedlfix