Stephan: HTTP_REFERER

Hallo,

ich möchte, wenn ein PHP3 Script gestartet wird, testen lassen, ob der Besucher von einer der (z.B.) drei 'erlaubten' Seiten kommt, bevor das Script ausführt, wozu es da ist ...

wie kann ich so etwas realisieren?

Gruß
Stephan

  1. ich möchte, wenn ein PHP3 Script gestartet wird, testen lassen, ob der Besucher von einer der (z.B.) drei 'erlaubten' Seiten kommt, bevor das Script ausführt, wozu es da ist ...

    wie kann ich so etwas realisieren?

    if ($HTTP_REFERER == 'http://deine-url') echo "ok"

    Du willst das allerdings gar nicht so machen, da du dich nicht darauf verlassen kannst, dass ein Referer: überhaupt gesendet wird und dann auch von z.B. einem Proxy durchgelassen wird.

  2. Hi!

    Du könntest eine Variable beim Seitenaufruf mitübergeben.

    <a href="seite.php3?varianle=ja">

    auf der Seite fragst du dann ab:

    if (varianle == "ja") {
        na dann gemma's an
    } else {
        nix da
    }

    1. Du könntest eine Variable beim Seitenaufruf mitübergeben.

      <a href="seite.php3?varianle=ja">

      auf der Seite fragst du dann ab:

      if (varianle == "ja") {
          na dann gemma's an
      } else {
          nix da
      }

      Und was denkst du was passiert, wenn ein eigenmächtiger Benutzer die Variable selber verändert?

  3. hi stephan (mal wieder! :-))

    das problem ist, daß der http-referer vom browser gesendet wird und es daher ein sicherheitsproblem darstellt.

    wenn du wirkliche sicherheit gewährleisten willst mußt du ein passwort mitsenden. das erscheint dann allerdings bei einem <a> auch in der adresszeile des browsers. am besten wäre meiner meinung nach ein system, daß sich an der session des users orientiert...

    viel spaß dabei!
    cu pete

    1. hi stephan (mal wieder! :-))

      Hoi! ;-)

      das problem ist, daß der http-referer vom browser gesendet wird und es daher ein sicherheitsproblem darstellt.

      wenn du wirkliche sicherheit gewährleisten willst mußt du ein passwort mitsenden. das erscheint dann allerdings bei einem <a> auch in der adresszeile des browsers. am besten wäre meiner meinung nach ein system, daß sich an der session des users orientiert...

      Hab jetzt nen Keks gebacken (Cookie *g*), der nach dem Login eingespeist wird und dann von allen seiten überprüft werden kann ... die Seiten können dann sogar noch andere nötige Infos aus der MySQL Datenbank, die ja jetzt wunderbar läuft :)) holen usw ...
      Danke an alle, die mir geholfen haben!

      viel spaß dabei!

      den hatte ich *g*

      Stephan

      1. das problem ist, daß der http-referer vom browser gesendet wird und es daher ein sicherheitsproblem darstellt.

        wenn du wirkliche sicherheit gewährleisten willst mußt du ein passwort mitsenden. das erscheint dann allerdings bei einem <a> auch in der adresszeile des browsers. am besten wäre meiner meinung nach ein system, daß sich an der session des users orientiert...

        Hab jetzt nen Keks gebacken

        Kaum besser als die Referer:-basierende Überprüfung; du solltest lieber auf HTTP Authentifikation oder zumindest PHPLIB http://phplib.netuse.de/ zurückgreifen, sprich Sessions wie schon angesprochen. Cookies werden ebenfalls teils gefiltert oder werden vom Benutzer gleich ganz deaktiviert, diesen zur Aktivierung aufzufordern ist manchmal unmöglich, und auf jeden Fall unfreundlich da unnötig.

        1. Hi,

          Kaum besser als die Referer:-basierende Überprüfung; du solltest lieber auf HTTP Authentifikation

          wo finde ich was dazu im Netz?

          Stephan

          1. Kaum besser als die Referer:-basierende Überprüfung; du solltest lieber auf HTTP Authentifikation

            wo finde ich was dazu im Netz?

            http://www.ietf.org/rfc/rfc2617.txt
            http://www.apacheweek.com/features/userauth
            [...]

          2. Kaum besser als die Referer:-basierende Überprüfung; du solltest lieber auf HTTP Authentifikation
            wo finde ich was dazu im Netz?

            http://www.teamone.de/selfaktuell/artikel/schroepl02.htm#a7

  4. Hi,

    wie kann ich so etwas realisieren?

    die PHPLIB http://phplib.netuse.de bietet Moeglichkeiten dazu, die auch noch weiterreichen koennen.

    Jan