typecho 博客模板的前端安全性提升

发布于 2019-10-22  802 次阅读


闲的没事做,因为使用的是别人的模板,就先改一下目前博客残留的一些安全性问题,并做一定优化。

CSP: Content Security Policy php

先在 header.php 中加入
``
其中 script-src 中的 cdn.bootcss.com 'unsafe-inline' 'unsafe-eval' 是模板必须,而 'ssl.google-analytics.com' 是 google-analytics 必要,可以根据模板和自身需求添加删改,更详细的教程建议阅读学习阮一峰的 CSP 详解
然后需要将原模板的各种内联样式换到外部css中(不能偷懒了)

https 重定向

将 http 强制定向于 https,在 /usr/local/nginx/conf/vhost 配置文件(如果是vhost)中 listen 80; 中加入 rewrite ^(.*)$ https://$host$1 permanent;

HTTP header 的诸多更改

header.php 中加入

其中header内容为以下各项:

HTTP Strict Transport Security

header("Strict-Transport-Security:max-age=63072000; includeSubDomains; preload");

X-Frame-Options

请注意,如果使用frame,请自行选择

header("Content-Security-Policy: frame-ancestors 'none'");
header("X-Frame-Options: DENY");

X-XSS-Protection

header("X-XSS-Protection: 1; mode=block");

X-Content-Type-Options

header("X-Content-Type-Options: nosniff");

总结

其他诸如 CORS、cookie 相关的安全性内容因为博客之前或者已经调整,或者没有用上,就无须更多更改了,若有需要可以自行调整。


Fly me to the moon