Я начал создавать сайт электронной коммерции, используя Laravel, и теперь я начинаю больше интересоваться вопросами безопасности, когда начинаю создавать страницу обработки платежей.
Я наткнулся на кучу заголовков, которые мне не хватало, и решил добавить нужные. Я добавил заголовки ко всем своим ссылкам, используя промежуточное ПО под названием «Безопасный»:
public function handle($request, Closure $next)
{
$response = $next($request);
$response->withHeaders([
'X-Frame-Options' => 'DENY',
'X-XSS-Protection' => '1; mode=block',
'X-Permitted-Cross-Domain-Policies' => 'master-only',
'X-Content-Type-Options' => 'nosniff',
'Referrer-Policy' => 'no-referrer-when-downgrade',
'Strict-Transport-Security' => 'max-age=31536000; includeSubDomains',
'Cache-Control' => 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',
'Pragma' => 'no-cache',
'Expires' => 'Sat, 26 Jul 1997 05:00:00 GMT',
]);
return $response;
}
Затем я просто группирую все ссылки, которые мне нужны, с этими заголовками в файле web.php. Теперь отображаются все остальные заголовки:
HTTP/1.1 200 OK
date: Mon, 20 Feb 2017 01:58:50 GMT
server: Apache/2.4.7 (Ubuntu)
cache-control: must-revalidate, no-cache, no-store, post-check=0, pre-check=0, private
x-xss-protection: 1; mode=block
x-permitted-cross-domain-policies: master-only
x-content-type-options: nosniff
referrer-policy: no-referrer-when-downgrade
strict-transport-security: max-age=31536000; includeSubDomains
pragma: no-cache
expires: Sat, 26 Jul 1997 05:00:00 GMT
Это часть ответа заголовка, и ни один из ответов не включает X-Frame-Options, но включает другие. Даже когда я пропускаю свой сайт через сайт сканирования заголовков, например securityheaders.io, они обнаруживают его как отсутствующий заголовок. Мне было интересно, что я мог сделать, чтобы это исправить, или это вообще проблема?
Я должен упомянуть, что я пытался использовать функцию php header () для получения похожих результатов. Может быть, что-то удаляет заголовок X-Frame-Options?
Задача ещё не решена.
Других решений пока нет …