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

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

本文关键字:浏览器 HTTP 请求 访问 是否 检查      更新时间:2023-09-26

就像标题所说的那样,是否有可能检测到特定页面是否正在通过web浏览器访问而不是HTTP请求?我知道通过web浏览器访问是在执行HTTP请求,所以我很好奇是否有可能区分。

我问,因为我想一个特定的页面只能通过我自己的应用程序访问,它不应该被直接浏览。

如果它是一个可公开访问的URL,就没有办法从根本上区分"你的应用"answers"其他任何人"。无论您以何种方式访问它,它都只是一个HTTP请求。如果您设置了正确的标头,就没有办法将一个请求与另一个相同的请求区分开来。如果你想限制访问"你的应用",设置一些特定的秘密认证头,只有"你的应用"知道。然而,如果"你的应用"是Javascript在一个网页中,任何人都可以检查和看到这些"秘密"的标题。

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

当然,只有在php.ini中设置了browscap.ini的路径才会有帮助。如果没有,可以使用https://github.com/garetjax/phpbrowscap

这样的php类