Ich benutze PHP Slim-Framework für ein persönliches Projekt. Aus irgendeinem Grund filtert die PSR-Implementierung von Request in Slim anscheinend einige Header. Ich versuche, ein benutzerdefiniertes CSRF-Token festzulegen, und es ist nicht über $ request-> getHeaders() verfügbar. Hier ist ein Beispiel, das das Problem zeigt:Kann nicht alle Anfrage Header mit PHP Slim Framework
$app->get('/bar', function ($request, $response, $args) {
echo "PHP's getallheaders() <br>";
foreach (getallheaders() as $name => $value) {
echo "$name: $value <br>";
}
echo "Slim's GetHeaders() <br>";
foreach ($request->getHeaders() as $name => $values) {
foreach ($values as $value) {
echo "$name: $value <br>";
}
}
});
ich diese Ausgabe erhalten:
PHP's getallheaders()
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: null
Accept-Encoding: gzip, deflate
csrf_name: csrf56fc038c2f6eb
csrf_value: 4e077c04dadf22377da2aebc1a8caa78
Cookie: PHPSESSID=41016nbag70gi6shq4u2tg0aq1
Connection: keep-alive
Slim's GetHeaders()
Host: localhost
HTTP_USER_AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE: null
HTTP_ACCEPT_ENCODING: gzip, deflate
HTTP_COOKIE: PHPSESSID=41016nbag70gi6shq4u2tg0aq1
HTTP_CONNECTION: keep-alive
Ich versuche, warum die benutzerdefinierten Header zu verstehen:
csrf_name: csrf56fc038c2f6eb
csrf_value: 4e077c04dadf22377da2aebc1a8caa78
von Slim entfernt werden.
Danke! Gut, diese Details über HTTP-Server zu kennen. Ich fand durch Versuch und Irrtum, so war meine erste Reaktion zu denken, dass es Slim der Schuldige war. –