![](/img/trans.png)
[英]How can a server identify a nodejs client (no browser) apart from its IP address?
[英]How to identify whether http request is from browser or from proxy server (or server)?
我有一台接受http请求并返回json数据的服务器。 我的服务器如何知道http请求是否来自客户端浏览器而不是来自服务器? 特别是如果流量可能从客户端代理到另一台服务器并致电我的服务器。
我知道我可以检查http标头以了解用户代理,remote-addr..etc,但这并不安全。 人们可以伪造http请求标头。
我还能采取什么其他技巧来识别传入的请求?
如果您能够检查标头,则可以看到X-Forwarded-For,它将告诉您“真实”请求的ip。 合法代理使用此标头。
对于浏览器,您将感兴趣的是User-Agent标头。流行的浏览器和搜寻器将利用此标头。
也就是说,这些标头可以伪造或省略。 没有任何一种方法可以确定传入请求的“实际”因素。 最好合并尽可能多的标头,模式和行为,以确定请求的合法性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.