安全 HTTP 头

HTTP 头揭示的安全漏洞

PHP 脚本返回的 HTTP 头可能会暴露其安全漏洞。

隐藏版本信息

为了避免成为与 PHP 或 web 服务器版本相关的安全漏洞的目标,最好隐藏这些信息在 HTTP 头中。

这通常在服务器配置文件中进行设置,但也可以通过 PHP 实现:

ini_set('expose_php', 'Off');
header('X-Powered-By: UnknownWebServer');

其他攻击

HTTP 头注入可以通过配置进行防止。

以下是一些防护示例:

ini_set('register_globals', 'Off');

header('Content-Security-Policy "default-src \'self\'; style-src \'self\' \'unsafe-inline\'; script-src \'self\' \'unsafe-inline\'; img-src \'self\' data:"');
header('X-Frame-Options "SAMEORIGIN" always');
header('X-Content-Type-Options nosniff');
header('Referrer-Policy: origin');
header('Permissions-Policy "geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()"');

注意: 配置错误可能会引发跨域资源共享(CORS)错误。

Last modified: Friday, 10 January 2025, 2:46 AM