与标题一样,是否可以检测是否通过Web浏览器访问特定页面而不是HTTP请求?我知道通过网络浏览器访问正在执行HTTP请求,所以我很好奇是否可以区分。
我问,因为我希望某个页面只能通过我自己的应用程序访问,而且不应该直接浏览。
答案 0 :(得分:1)
如果它是一个可公开访问的网址,那么就无法从根本上区分你的应用程序"和"任何其他人"。它只是一个HTTP请求,无论您以何种方式访问它。如果您设置了正确的标题,则无法将一个请求与另一个请求区分开来。如果您想限制访问"您的应用"只设置一些特定的秘密身份验证标头,只有"您的应用程序"知道。但是,如果"您的应用程序"是网页上的Javascript,任何人都可以检查并查看那些" secret"头。
答案 1 :(得分:0)
尝试使用get_browser并检查isMobileDevice
字段。
您可以使用if条件进行检查,如果请求来自Web浏览器,则可以重新访问该页面。
当然,如果在php.ini中设置了browscap.ini
的路径,那么它可能会有所帮助。如果没有,您可以使用像https://github.com/garetjax/phpbrowscap