前言
安全性,总是一个不可忽视的问题。许多人都承认这点,但是却很少有人真的认真地对待它。所以我们列出了这个清单,让你在将你的应用部署到生产环境来给千万用户使用之前,做一个安全检查。
以下列出的安全项,大多都具有普适性,适用于除了Node.js
外的各种语言和框架。但是,其中也包含一些用Node.js
写的小工具。
配置管理
安全性相关的HTTP头
在Node.js
中,这些都可以通过使用Helmet模块轻松设置完毕:
var express = require('express');
var helmet = require('helmet');
var app = express();
app.use(helmet());
当然,在许多的架构中,这些头会在Web服务器(Apache,nginx)的配置中设置,而不是在应用的代码中。如果是通过nginx配置,配置文件会类似于如下例子:
# nginx.conf
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'";
如果你想快速确认你的网站是否都设置这些HTTP头,你可以通过这个网站在线检查:http://cyh.herokuapp.com/cyh 。