【问题标题】:Detect Browser Vs. Software PHP检测浏览器与。软件 PHP
【发布时间】:2013-01-31 23:53:29
【问题描述】:

所以。我正在访问一个 PHP 页面并使用 Java URL() 对象从中读取一些数据。我想知道是否有人可以告诉我如何使用 PHP 检查查看页面的人是从 Java 应用程序还是从真正的 Web 浏览器访问它(如果他们是,我不希望他们看到数据)使用网络浏览器)。

我当前的 Java 代码是:

    try{
        URL url = new URL("http://www.mysite.com/myurl.php");
        Scanner s = new Scanner(url.openStream());
        while(s.hasNext()){
            String auths = s.next();
            String real = "test";
            if(auths.equalsIgnoreCase(real)){
                return true;
            }else{
                return false;
            }
        }
        return false;
    }catch(Exception e){
        return false;
    }

我在“http://www.mysite.com/myurl.php”的 PHP 文件有这样的代码:

<?php echo "test"; ?>

问题是,我只希望 PHP 文件输出“测试”,如果它是从 Java 应用程序访问的。谁能帮帮我?..谢谢

【问题讨论】:

  • 没有权威的方法可以做到这一点,AFAIK。 Web 浏览器通常在其用户代理字符串中发送一个指示,但这很容易被伪造,因为它只是一个 HTTP 标头。我想我想说的是,您编写的 Java 代码可能不会“看起来”像来自 Web 浏览器,但可以通过添加适当的标头等轻松地对其进行修改。请求。

标签: java php url browser


【解决方案1】:

对于您正在尝试做的事情没有万无一失的解决方案。

话虽如此,您可以使用get_browser()$_SERVER['HTTP_USER_AGENT'] 来读取user-agent 请求标头。

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 2014-08-03
    • 2010-11-20
    • 2011-04-18
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    相关资源
    最近更新 更多