Промежуточное программное обеспечение laravel для удаления нежелательных заголовков ответовPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Промежуточное программное обеспечение laravel для удаления нежелательных заголовков ответов

Сообщение Гость »


Я хочу иметь промежуточное программное обеспечение Laravel, которое удаляет нежелательные заголовки ответов, такие как X-Powered-By и Server или все, что отображает информацию о моем сервере.
Обратите внимание на любой заголовок, а не только на «X-Powered-By», и на любой ответ. в некоторых ответах этот заголовок отсутствует, например в файлах PDF или Excel. Если заголовок не существует, возвращается ошибка!
Пожалуйста, отвечайте внимательно. Я проверил предыдущие ответы, и они не были точными.
например, я написал это промежуточное программное обеспечение, но когда я возвращаю какую-то ошибку или файл Excel, он возвращает ошибку!

Код: Выделить всё

namespace App\Http\Middleware;

use Closure;

class SecureHeaders
{
// Enumerate unwanted headers
private $unwantedHeaderList = [
'X-Powered-By',
'Server',
];

// exception content-type header
private $exceptionContentHeaderList = [
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
];

/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request $request
* @param  \Closure                 $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
if ( !in_array($response->headers->get('content-type'), $this->exceptionContentHeaderList) ) {
$response->headers->set('X-Content-Type-Options', 'nosniff');
$response->headers->set('X-XSS-Protection', '1; mode=block');
$response->headers->set('Strict-Transport-Security', 'max-age:31536000; includeSubDomains');
$response->headers->set('Public-Key-Pins', 'pin-sha256="base64=' . env('SUBJECT_PUBLIC_KEY_INFORMATION_FINGERPRINT') . '"; max-age=31536000; includeSubDomains');
$this->removeUnwantedHeaders($this->unwantedHeaderList);
}
return $response;
}

/**
* @param $headerList
*/
private function removeUnwantedHeaders($headerList)
{
foreach ($headerList as $header)
header_remove($header);
}
}
when run header_remove($header); and $header doesn't exist, it crashed!


Источник: https://stackoverflow.com/questions/781 ... se-headers
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»