Hello,
Zeig mir bitte eine funktionierende Variante, bei der $_SERVER['HTTP_REFERER'] ein Array enthält (natürlich so, dass es über einen Request erzeugt wird, nicht mit PHP-Code). Zur Not reicht die Beschreibung der Vorgehensweise. Das Senden von zwei Referer-Headern mit oder ohne [] führt jedenfalls nicht zu einem Array.
Hast Du es ausprobiert? Dann könnte ich es mir jetzt schenken.Hab ich, mit den beiden erwähnten Varianten. Das Beispiel aus der PHP-Handbuchseite zu fsockopen() diente mir - leicht abgewandelt und ergänzt - als Grundlage.
Ich habs auch nochmal ausprobiert. Du hast Recht.
Stimmt, die HTTP-Headers-Namen werden von PHP vor der Auswertung bereinigt. Alle Zeichen, außer [0-9], [a-z] und [A-Z] werden durch _ ersetzt. Somit kommen die Klammern [] nicht durch bis zur Werteumwandlung und es kommt immer ein String oder nichts an.
In getallheaders() stehen sie noch drin.
Wenn ich nochmal etwas Zeit dazu habe, möchte ich noch die Stelle im Quellcode finden, an der das passiert und es auch nochmal mit einer alten PHP-Version ausprobieren. Ich bin mir sicher, dass wir schon mal ein "Referer-Array" erzeugt haben.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg