2012-07-18 60 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

相關問題