2012-07-18 70 views
0

我正在尝试编写一个简单的html页面来创建两个数据源的混搭。其中一个数据供稿源是一个PHP页面,每次请求时都会生成Google地球KMZ文件。我的目标是“实时”在我的页面地图上显示此Feed。从html和javascript访问经过身份验证的PHP页面

特定的PHP页面需要验证,我有用户名和密码。当我将网址插入网络浏览器时,它会要求我提供我的凭据,我提供它们并下载KMZ文件。

我想让我的html页面使用javascript将PHP请求发送到PHP页面,检索返回的KMZ并将其加载到地图上。

我对这类事情是完全陌生的,所以请让我知道如果我朝着正确的方向前进,这是可能的吗?

回答

0

不指定认证被在远程端使用哪种类型的,因此,我要做出一些猜测和假设:

基本HTTP认证

如果“Basic HTTP Authentication”被使用(这将显示在浏览器弹出请求领域的用户名/密码),你可以制定你的请求URL如下:

http://username:[email protected]/file.name?parameter=x 

其中:

  • username是实际知道的用户名
  • password的实际密码
  • host.name远程服务器的地址,
  • file.name你想PHP文件访问
  • 可选:parameter=x从PHP文件获得所需输出所需的任何已知参数

PHP认证

如果实际的认证过程是由PHP页面本身做这是一个不同的故事。在这种情况下,这一切都取决于PHP脚本使用哪些变量来执行身份验证,具体是哪个类型的参数为。通常使用GETPOST(或者如果使用REQUEST,则两者都可以使用)。

无论使用哪种方式,您都必须知道正在使用的参数的名称。下面的例子我将假设userpass

在PHP脚本,这些看起来像$_GET['user']$_POST['user']$_REQUEST['user']或者干脆$user如果危险register_globalsphp.ini设置。

GETREQUEST情况:

http://host.name/file.name?user=username&pass=password&parameter=x 

POST情况:使用JavaScript

是可能的POST值。 This SO answer gives a working examle.

别的

如果使用任何其它方法(并有大量的其他人),更具体的信息是必需的,以确定确切方法和工作溶液。

+0

Thanks @Remco - 我不确定使用了什么类型的身份验证。我尝试了您描述的两种方法,但仍然弹出询问用户名和密码的提示。第一种方法首先告诉我,我试图登录到不需要身份验证的站点。这可能是因为域本身不需要认证,但PHP页面呢? – Brian 2012-07-18 14:31:29

相关问题