Python
2018-10-05
为你的Django项目保驾护航
保证你的站点安全至关重要,如果你的站点被入侵,后果可能不仅仅是你的服务器被黑,更严重的可能是你的用户隐私数据被盗,造成严重的后果。 Django框架现在已经非常成熟,大多数常见的安全问题框架本身都有提供解决方案,下面大致介绍下一些常见的防御措施。
Https
现在的网站https基本都是标配了吧,如果你的网站还没有支持https,那么就要考虑是不是需要尽快为你的网站加上https,这里推荐使用免费的Let's Encrypt。本站使用的就是他们颁发的证书。可以参考该文章:
申请Let's Encrypt通配符证书
有大致的介绍。
如果你的站点已经支持了https访问的话,建议在settings.py中加入:
SECURE_SSL_REDIRECT = True #将http请求重定向到https
SESSION_COOKIE_SECURE = True #只在https才会将cookie发送到客户端
CSRF_COOKIE_SECURE = True
HTTP 严格传输安全协议(HSTS)
HSTS最为核心的是一个HTTP响应头(HTTP Response Header)。正是它可以让浏览器得知,在接下来的一段时间内,当前域名只能通过HTTPS进行访问,并且在浏览器发现当前连接不安全的情况下,强制拒绝用户的后续访问要求。 如本站:
strict-transpor...