目前我的 HTTP 服务器具有以下配置:
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
关于访问控制条目。
这些是否表明服务器发送和接收什么?
我最好尽量减少这个列表吗?这是否意味着服务器可能更安全,因为访问它的方法更少?
谢谢
最佳答案
访问控制允许来源:*
您可以轻松地限制此条目以限制对您网站的 AJAX 请求(阻止 CORS)。这很容易做到(取决于您要构建的内容)通常是个好主意。
访问控制允许方法:POST、GET、PUT、DELETE、OPTIONS
同样,根据您正在构建的内容,这可能仅限于您打算使用的 HTTP 方法。一个基本的网站可能只需要 GET,一个包含表单上传的内容驱动的网站将需要 POST,或者一个复杂的 API 或套接字驱动的网站可能/将需要其他。
Access-Control-Allow-Credentials: true
如果您不处理身份验证(或保护任何东西),那么这是无关紧要的。如果你正在保护某些东西,你可能想要实现类似 oauth 的东西到位,并禁止凭据。
Access-Control-Max-Age:86400
这就是网站响应可以缓存的时间。这是 24 小时,但在高度安全的站点上,您可能希望将其限制为 1 小时或 30 分钟。
综上所述,同时还有大量其他 security concerns when implementing Node ,如果您严格不需要额外的 header 处理,那么删除它们会有好处。
关于Node.js HTTP 服务器 - 如何保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20506866/