跳转到内容

PHP 编程/安全 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) 错误。


华夏公益教科书