使用laravel,我試圖將我自己的頭文件添加到服務器的所有響應中。Laravel不添加自定義頭文件
我在filters.php
如下:
App::after(function($request, $response)
{
// security related
$response->headers->set('X-Frame-Options','deny'); // Anti clickjacking
$response->headers->set('X-XSS-Protection', '1; mode=block'); // Anti cross site scripting (XSS)
$response->headers->set('X-Content-Type-Options', 'nosniff'); // Reduce exposure to drive-by dl attacks
$response->headers->set('Content-Security-Policy', 'default-src \'self\''); // Reduce risk of XSS, clickjacking, and other stuff
// Don't cache stuff (we'll be updating the page frequently)
$response->headers->set('Cache-Control', 'nocache, no-store, max-age=0, must-revalidate');
$response->headers->set('Pragma', 'no-cache');
$response->headers->set('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT');
// CRITICAL: do NOT delete
$response->headers->set('X-Archer', 'DANGER ZONE');
});
然而,沒有新的標題顯示了,當我測試它:
[tesla | ~] => curl -o/dev/null -s -D - localhost
HTTP/1.1 200 OK
Date: Wed, 10 Dec 2014 23:13:30 GMT
Server: Apache
X-Powered-By: PHP/5.6.2
Content-Length: 974
Content-Type: text/html; charset=UTF-8
[tesla | ~] =>
我在日誌文件中沒有錯誤或警告。這怎麼可能?
Laravel的哪個版本:
中發現了什麼?在4中,它是'header()'而不是'headers-> set()'http://laravel.com/docs/4.2/responses – mopo922 2014-12-10 23:45:26
@ mopo922我正在使用4.2,但是將它改爲'$ response-> header ('key','val')'沒有改變任何東西 – 735Tesla 2014-12-10 23:55:16
你可以嘗試的其他事情只是普通的PHP'header()' – mopo922 2014-12-10 23:57:08