• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage "X-Requested-With" Header wird nicht erkannt

ineedmny

Mitglied
Abend,

ich habe viel gelesen, wie man die PHP-Datei, an die ein http-Request gesendet wird, vor einem direkten Zugriff schützen kann. Die beste Methode scheint mir diese zu sein, einen "X-Requested-With" Header zu schicken unddann in der PHP-Datei abzufragen.

Das Problem ist nur, dass der Header zwar eindeutig geschickt wird...

20151112212qej8u9dwoh.png


...aber die Variable in der PHP-Datei scheint leer zu sein:

PHP:
if($_SERVER['X-Requested-With'] != 'XMLHttpRequest')
{
  die('nicht erlaubt');
}

Der direkte Zugriff ist damit zwar verboten, aber meine JS-Dateien können auch nicht mehr darauf zugreifen. o_O

Versteh ich das richtig, dass die Variable $_SERVER['X-Requested-With'] durch das Senden des Headers erzeugt wird? Oder hängt die Verfügbarkeit wirklich von der Server-Software ab, wie ich es auch schon gelesen habe?

Danke schon mal!
 
Werbung:
Eigentlich ganz einfach, wenn man's weiß :confused:

Die Variable in PHP lautet nicht:

PHP:
$_SERVER['X-Requested-With']

sondern:

PHP:
$_SERVER['HTTP_X_REQUESTED_WITH']

HTTP-Header bekommen immer noch den Präfix "HTTP_" und alle Bindestriche werden durch Unterstriche ersetzt.

Und schon funktioniert es :)
 
Werbung:
Zurück
Oben