簡體   English   中英

通過IFrame傳遞用戶名和密碼

[英]Passing Username and Password with IFrame

我有一個問題。

這可能嗎?
我需要將其他網站的登錄頁面放入iframe。 登錄后,您將看到一個圖表。

我需要的是,當我單擊超鏈接時,它將在iframe中顯示該頁面,但會自動填充並自動登錄帳戶,以便他們看到的不是登錄頁面,而是其中的圖形。

有沒有辦法在iframe中傳遞用戶名和密碼並觸發登錄按鈕或自動登錄?

可以用PHP或jquery做到嗎?

關於所有,並提前感謝。

不要公開密碼,而是創建一個唯一的密鑰,您可以將其與密碼一起發送以在將顯示在iframe中的頁面上對它們進行身份驗證。 這假定兩個系統都知道用戶和唯一密鑰。

設置iframe時,您可以將其源設置為包括一些URL參數:

<iframe src="http://example.org/api?key=<?php echo $unique_key; ?>">

這將帶您解決跨域問題,而跨域問題可能是使用javascript方法拋出的。

Treffynnon回答的唯一警告是,它要求您有權訪問兩個系統,以創建一種“登錄代碼” Web服務,兩者可以用來進行通信。 如果您只能訪問第一個站點(要在其中包含iframe的站點),則需要執行以下操作(請注意,這不像Treffynnon的回答那么安全):

  1. 在沒有iframe的情況下加載頁面
  2. 使用ajax,查詢服務器(通過SSL!),以獲取需要提交給另一台服務器的用戶名和密碼。
  3. 動態創建您的iframe,其中填充的表單與另一台服務器上的登錄表單基本相同,並使用與另一表單相同的“方法”提交相同的“操作”。 然后動態提交。 這應該在客戶端上設置適當的登錄cookie,以便其登錄。確保在所有地方都使用SSL。
  4. 動態地將iframe重定向到包含您要查看的圖表的頁面。
  5. 刪除所有保存安全登錄信息的JavaScript變量。

潛在問題:

  • 某些登錄過程非常復雜,使用此方法可能無法登錄。
  • 您正在極大地增加站點上的攻擊媒介數量。 例如:步驟2,查詢登錄憑據,假設您的安全性足以阻止人們查詢他們不應該訪問的數據。
  • 所有這些都假定最終用戶可以訪問登錄憑據,例如,他們在兩個站點上都有一個用戶名和密碼。 如果您要使用1個站點范圍的登錄名來使最終用戶訪問他們原本無法獲得的訪問權限,那么這會將您的登錄詳細信息公開給所有用戶,因此您不應該這樣做。 在這種情況下,您唯一的選擇是完全在后端執行某些操作。 如果您可以訪問兩個站點的代碼,請使用Treffynnon的建議,否則,您將不得不訪問並下載后端的圖表,然后為您的用戶重新顯示。

您可以嘗試的第一種方法是在iframe中使用GET方法發送用戶名和密碼。 src=yourscript.php?user=me&pass=secret這樣,您可以嘗試在另一側對用戶進行身份驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM