$HTTP_REFERER abfragen
Ralf Rapude
- php
Hallo Forum,
ich frage für einen PHP-Formularversender den $HTTP_REFERER ab. Das mache ich, indem ich nach folgendem String suche:
if(!strchr($HTTP_REFERER,"meinedomain"));
return false;
echo "Sie haben nicht die Berechtigung, dieses Script zu nutzen";
Wenn ich mir die Variable $HTTP_REFERER über echo ausgeben lasse, erscheint auch die URL, von der das Script versandt wurde.
Also z.B. http://www.meinedomain.de
Merkwürdigerweise geht das nicht mehr, wenn ich die URL ohne www. einebe, also http://meinedomain.de. Über echo wird mir dann zwar immer noch die Variable $HTTP_REFERER korrekt ausgegeben, doch wird anscheinend nicht mehr nach dem String "meinedomain" gesucht. Es wird zwar nicht die Fehlermeldung über echo ausgegeben, aber trotzdem wird das script nicht versandt (jedenfalls erreichen mich die Testmails nicht). Kann mir jemand auf die Sprünge helfen?
Normalerweise sollte man das wohl über Session-Variablen machen, aber soweit bin ich leider noch nicht vorgedrungen. Muß halt erstmal so gehen.
Gruß und vielen Dank
Ralf
Hallo Ralf,
zu Deinem eigentlichen Problem kann ich leider nichts beitragen.
Aber: ist Dir klar, daß kein Browser dazu verpflichtet ist, den Referer mitzuschicken. Dieser kann also auch bei einem Skriptaufruf von Deinen Seiten aus leer sein. Bei Opera kann man sogar direkt in den Browsereinstellungen wählen, ob der Referer geschickt werden darf oder nicht (und zwar im Menüpunkt "Privacy" = "Privatsphäre" ;-).
Viele Grüße
Carsten
Hallo Carsten,
das Problem ist inzwischen gelöst. Nicht das Script hat den Fehler, sondern eine meiner Mailboxen schnarcht. Ich habe eine andere Mail-Adresse eingetragen und jetzt funzt es problemlos. Meine Fresse. Zwei Stunden den Fehler gesucht und dann liegt es daran. Ich habe hier die wildesten Umwege probiert, um nach dem räudigen String zu suchen :-(
Aber: ist Dir klar, daß kein Browser dazu verpflichtet ist, den Referer mitzuschicken. Dieser kann also auch bei einem Skriptaufruf
Ja. Ist mir klar. Aber wie gesagt: Die Alternative sind ja wohl Session-Variablen und ich bin nach wie vor php-Newbie. Macht zwar viel Spaß alles, aber der Termindruck läßt die Zeit nicht, jetzt noch anzufangen mit Session Variablen rumzudatteln. Muß also erstmal so rein und sooo hohe frequenzen hat die Site erstmal nicht. Da hat dann der Zeitdruck erstmal Vorrang. Kann man denn ja später nochmal nacharbeiten. Hauptsache das geht erstmal. Aber prinzipiell hast du natürlich recht und so ganz wohl ist mir dabei auch nicht. Hilft aber ja nix.
Trotzdem vielen Dank
Gruß Ralf
Grüssi!
Die Alternative sind ja wohl Session-Variablen und ich bin nach wie vor php-Newbie. Macht zwar viel Spaß alles, aber der Termindruck läßt die Zeit nicht, jetzt noch anzufangen mit Session Variablen rumzudatteln.
Du hast Glück, es gibt dazu nen recht informativen Thread weiter unten:
<?m=129639&t=24858>
Der wird dir einige Tutorials ersparen ;-)
lg bernhard
Der wird dir einige Tutorials ersparen ;-)
Hi,
sehr hilfreich. Vielen Dank für den Hinweis
Gruß Ralf