Http_referer

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

  • Http_referer

    folgende Frage:

    ich bin dabei ein druckscript zu schreiben.
    dieses druckt eine bestimme stelle von einer seite aus.

    dabei wird der HTTP_REFERER verwendet.

    sollte sich nun einer den spaß erlauben, die url direkt aufzurufen, kommen eine ganze meine fehlermeldungen. logisch ...

    nun meine frage:
    wie frägt man ab, ob es einen HTTP_REFERER gibt ??

    mit

    PHP-Code:
    if ($HTTP_REFERER=="0") { .... 
    funktioniert es leider nicht ...

    cu,
    HANSI

  • #2
    so aber schon .....

    PHP-Code:
    if ($HTTP_REFERER) {
      
    // REF ist da
    }
    else {
      
    // REF IST NICHT DA

    über getenv() ist's wahrscheinlich besser.

    PHP-Code:
    if (getenv("HTTP_REFERER")) {
      
    // REF ist da
    }
    else {
      
    // REF IST NICHT DA

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      so kann es auch nicht funzen

      der referer gibt dir an welhce seite der surfer zuletzt besucht hat ....

      wenn du ihn also abfragst kannste den referer ja auch www.deinedomain.de kuerzen und einfach fragen ob der user vorher schon auf der domain war ... wenn nicht ---> goodbye ...

      wenn es genau(!!!!) eine php/htmlseite gibt von der er zu der zu schuetzenden seite kommt, dann ist der referer GENAU die seite ... wenn es also nur eine oder zumindestens wenige moeglichkeiten gibt dann kannste das so abfraegn (glaub ich keine garantier fuer korrekt syntax)


      if($HTTP_REFERER == www.domain.de/start.html || $HTTP_REFERER == www.domain.de/andereseite.php || $HTTP_REFERER == www.domain.de/huhu.php)
      {
      //das wass dann kommen soll

      }else {
      echo "klein zugriff";
      }



      beim referer gibts aber das problem das einige firewalls wie z.b. die von norten den so uebergeben das du damit user, die von diesen seiten kommen abblockst .....
      hab dazu auch nen thread eroeffnet aber bisher noch keine loesung:
      http://www.php-resource.de/forum/sho...threadid=15203

      so hoffe das ich helfen konnte

      mfg
      kapitaeniglo
      Zuletzt geändert von kapitaeniglo; 17.01.2003, 16:10.

      Kommentar


      • #4
        sorry musste oben die quelltexteinfaerbung wegnehemn ... denn dann hat er daraus links gemacht und es stand da alles mit <a href ....>

        wenn du z.b. nur pruefen willst ob der beuscher von deiner domain kommt (und es dir egal ist von welcher seite)
        dann kannste das wie folgt loesen:

        PHP-Code:
        $referer$HTTP_REFERER;
        $teile=explode('/',$referer);
        $ref=$teile[1
        sollte dir dann www.domainname.de ausgeben ... glaub ich ... sonst 0 oder 2 in den eckigen klammer
        dann kannste danach mit if ne abfrage machen und gut ist

        mfg
        kapitaeniglo

        Kommentar


        • #5
          danke !!
          funtioniert jetzt

          Kommentar


          • #6
            das kannste auch so machen ...

            PHP-Code:
            if (strstr(getenv("HTTP_REFERER"), "www.deinedomain.de")) {
              
            // REF aus deiner domain ist da
            }
            else {
              
            // REF IST NICHT KOREKT VON DIR
              
            echo "fott hier :-)";

            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              und schon wieder was gelernt ....

              ok werd ich mal gleich einfuegen bei mir in dem skript .....

              mfg
              kapitaeniglo

              Kommentar


              • #8
                hihi

                deine version würde zwar auch gehen, ist mir aber zu umständlich ...
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  das kannste auch so machen ...

                  PHP-Code:
                  if (strstr(getenv("HTTP_REFERER"), "www.deinedomain.de")) {
                    
                  // REF aus deiner domain ist da

                  ha. denkste.

                  wenn du das einfach so machst, ohne die zurückgegebene position abzufragen, an der "www.deinedomain.de" im string vorkommt, dann macht ich als böser hax0r einfach eine eigene seite namens

                  http.//www.meinedomain.de/www.deinedomain.de/seite.html

                  von der aus ich das script aufrufe, und schon ist die bedingung erfüllt und der schutz wirkungslos...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    das ist korrekt. jedoch sollte dieser fall eher selten bis gar nicht vorkommen ...

                    wenn du ganz auf nummer sicher gehen willst, kannst du es wiederrum so machen.

                    PHP-Code:
                    if (strstr(getenv("HTTP_REFERER"), "^http://www.deinedomain.de")) {
                      
                    // REF aus deiner domain ist da

                    du musst das http:// mit reinschreiben. der ^ am anfang bewirkt, dass der gesuchte string zu beginn des referers stehen MUSS.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      jedoch sollte dieser fall eher selten bis gar nicht vorkommen ...
                      hey, sag niemals nie wenn es um sicherheitsfragen geht! ;-)
                      da musst du echt mit allen auch nur im geringsten denkbaren fällen rechnen, sonst hast du nachher irgendwann ein problem...
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Original geschrieben von wahsaga
                        hey, sag niemals nie wenn es um sicherheitsfragen geht! ;-)
                        hast ja recht.

                        da er es aber nur zum vertuschen es referers verwenden will, ist aus meiner sicht die sicherheit nicht als paranoid einzustufen ...
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          da er es aber nur zum vertuschen es referers verwenden will, ist aus meiner sicht die sicherheit nicht als paranoid einzustufen ...
                          nee, jetzt biste gedanklich im falschen thread gelandet ;-)
                          hier gings darum, dass eine seite nicht von jedem hansel aufgerufen werden kann, sondern nur von einer bestimmten ausgangsseite aus...
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            auch wieder wahr. kann ja jedem mal passieren ...

                            @hansi
                            hier ist der code, den du verwenden kannst. alle sicherheiten sollten eingebaut sein. wenn nicht, sagt wahsaga es dir noch

                            PHP-Code:
                            if (strstr(getenv("HTTP_REFERER"), "^http://www.deinedomain.de")) {
                              
                            // REF aus deiner domain ist da

                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              noch ergänzend:

                              der referer wird vom browser gesendet und kann von klient-seite beliebig angegeben/manipuliert werden.
                              man kann problemlos jeden beliebigen text als referer senden.
                              martin

                              Kommentar

                              Lädt...
                              X