我在PHP中有一个文件,从Android应用程序接收POST,它可以正常工作,但如果从浏览器加载,它也可以正常工作。禁止这种情况发生的最正确和最有效的方法是什么?
尝试在请求$_SERVER["HTTP_USER_AGENT"]
中测试用户代理。使用 PHP,您可以使用 get_browser() 获取给定用户代理的更多信息。
客户端都可能发送虚假的用户代理,因此此信息是一个很好的提示,但作为任何用户输入,它一定不能完全信任。
如果您拥有Android应用程序,我建议您通过HTTPS将Android应用程序上生成的安全令牌发送到您的PHP应用程序,在那里进行验证。
在发出 HTTP 请求时添加标头。
例如应用程序类型
httppost.setHeader("Application-Type", "ANDROID");
这将区分您的呼叫,服务器可能会知道是否从移动设备拨打此标头而浏览器没有。
看看一个带有 phpinfo() 的页面
,来自 android您可以检查浏览器和操作系统,在此基础上您可以选择要执行的操作