Node.js HTTP服务器 – 如何保护

目前我的HTTP服务器有以下configuration:

curl -i http://localhost:3000 HTTP/1.1 200 OK Access-Control-Allow-Origin: * Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS Access-Control-Allow-Credentials: true Access-Control-Max-Age: 86400 Access-Control-Allow-Headers: X-Requested-With, Access-Control-Allow-Origin, X-HTTP-Method-Override, Content-Type, Authorization, Accept Date: Tue, 10 Dec 2013 22:31:40 GMT Connection: keep-alive Transfer-Encoding: chunked 

尊重访问控制条目。

这些表明服务器的发送和接收是什么?

我最好尽可能地减less这个清单? 这是否意味着服务器可能更安全,因为访问它的方法较less?

谢谢

Access-Control-Allow-Origin: *

你可以很容易地限制这个条目来限制AJAX请求到你的网站(封锁CORS )。 这很容易做到,(取决于你想要build立的)通常是一个好主意。

Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS

同样,根据你正在构build的内容,这可能仅限于你打算使用的HTTP方法。 一个基本的网站可能只需要GET,一个带有表单上传的内容驱动网站需要POST,或者一个复杂的API或套接字驱动的网站可能会需要其他的。

Access-Control-Allow-Credentials: true

如果你不处理身份validation(或确保任何东西),那么这是无关紧要的。 如果你正在保护某些东西,你可能想要实现像oauth这样的东西,并禁止凭据。

Access-Control-Max-Age: 86400

这只是网站响应可以caching多长时间。 这是24小时,但在一个高度安全的网站上,你可能想要限制这一个小时或30分钟。

所有这一切都说,虽然在实现Node时还有很多其他的安全问题 ,但是如果你不需要额外的头部处理,那么删除它们是有好处的。