【发布时间】: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 浏览器,但可以通过添加适当的标头等轻松地对其进行修改。请求。