繁体   English   中英

检查浏览器和HTTP请求是否正在访问页面

[英]Check if Page is being Accessed by a Browser vs. HTTP Request

就像标题所说的那样,是否有可能检测是否通过Web浏览器而不是HTTP请求来访问特定页面? 我知道通过网络浏览器进行的访问正在执行HTTP请求,因此我很好奇它是否有可能与众不同。

我问是因为我希望某个页面只能通过我自己的应用程序访问,并且不应直接浏览到该页面。

如果它是可公开访问的URL,则无法从根本上区分“您的应用程序”和“其他任何人”。 无论您以哪种方式访问​​,它都只是一个HTTP请求。 如果设置正确的标题,则无法将一个请求与另一个相同的请求区分开。 如果您只想限制对“您的应用程序”的访问,请设置一些仅“您的应用程序”知道的特定秘密身份验证标头。 但是,如果“您的应用程序”是网页中的Javascript,则任何人都可以检查并查看那些“秘密”标头。

尝试使用get_browser并检查isMobileDevice字段。 您可以使用条件来检查它,如果来自Web浏览器的请求则限制对该页面的访问。

当然,如果在php.ini中设置了browscap.ini的路径,则可能仅会有所帮助。 如果没有,您可以使用类似https://github.com/garetjax/phpbrowscap的 php类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM