我的第一个基于 Node.js 的公共网站(使用 Express)在几周前公开。我定期检查服务器日志,有时会有一些奇怪的记录。这里有些例子:
- - - [Sat, 19 Oct 2013 08:44:38 GMT] "GET http://www.google.com/ HTTP/1.0" 200 3539 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
222.205.7.245 - - [Sat, 19 Oct 2013 19:54:57 GMT] "GET http://www.wikipedia.org/ HTTP/1.1" 200 3539 "-" "Mozilla/5.0 (compatible; MSIE 5.01; Win2000)"
223.94.178.192 - - [Sun, 20 Oct 2013 06:04:23 GMT] "GET http://www.sciencedirect.com/ HTTP/1.1" 200 3539 "-" "Mozilla/5.0 (compatible; MSIE 5.01; Win2000)"
这些是由express.logger
(记录器:http ://www.senchalabs.org/connect/logger.html )以默认格式生成的:
default ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"'
仅在我的项目express.urlencoded()
中使用并且express.cookieParser
未express.session
启用。
以下是我的问题:
- 为什么
remote-addr
在日志中丢失?在 node.js + express 上获取这些信息会非常困难吗? - 似乎有人试图将我的网站用作代理。他/她是如何发送 http 请求的
GET http://www.google.com
?我应该如何阻止这些请求? - 根据服务器日志中的这些记录,我的 Web 服务器是否足够安全?我应该在我的项目中使用头盔 (github.com/evilpacket/helmet) 还是 CSRF (www.senchalabs.org/connect/csrf.html)?
非常感谢。