首页 > 解决方案 > 如何确定 HTTP 请求是来自浏览器还是某个代理

问题描述

我想知道区分来自浏览器或某些代理(例如邮递员,还有脚本工具)的请求的最佳实践是什么。这不是为了安全措施,只是根据用例应该应用不同的逻辑。

我正在使用以下方法:

HttpBrowserCapabilities browserCapabilities = context.Request.Browser;

if (browserCapabilities.Browser == "Unknown" && browserCapabilities.Id == "default") 

这对我有用。

但是,我想听听您对这种方法的反馈,以及您是否认为这种方法可能会出错。我没有在网络上找到任何关于这种方法的参考,所以我想知道我错过了什么。它可靠还是不可靠?

请指教。

标签: asp.net-web-apihttprequest

解决方案


用户代理是正常的机制。看context.Request.Headers.UserAgent。是的,一些脚本工具会撒谎并伪装成浏览器。但如果这真的与安全无关,那是他们的事。


推荐阅读