簡體   English   中英

與iFrame互動

[英]Interacting with iFrames

我有一個用戶訪問我的網站的情況。 我將使用iFrame在該iFrame中顯示另一個域(不在我的控件中)的另一個站點。 現在,該站點將顯示一個登錄頁面。 客戶將登錄此頁面。 如果登錄成功,我想禁用/模糊iFrame並在頁面上顯示一些字段。 在我的網站上輸入數據后,我將啟用iframe並讓用戶繼續使用。

我的問題是:如何捕獲iFrame中的登錄成功事件?

附帶問題:是否有比使用iFrame更好的方法?

您想知道用戶何時登錄另一個站點並模仿登錄行為。 您所描述的是違反原產地政策和實際的安全突破 ...

如果外部站點可以共享與登錄相關的信息 (例如,通過OAuth ), 可以正確地進行此操作而不會引起安全性問題。 然后,您可以彈出外部站點的登錄頁面。 您的用戶將輸入他/她的憑據,您將獲得對其登錄操作狀態的適當訪問權限。

假設外部應用程序是facebook,則可以在此頁面上找到更多信息和示例。 針對初學者OAuth教程也可能會有用。

希望我能幫上忙!

我不確定100%是否滿足以下要求,但可以嘗試以下方法:

- 以下是一些網站上XFO檢測的快速示例,其中沒有任何登錄檢測檢查。

<* script src=”http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js”><* /script>
<* script>
var urls = [
'http://www.wikipedia.org/',

'http://ha.ckers.org/',

'http://www.google.com/',

'http://www.facebook.com/',

'https://github.com/',

'http://daringfireball.net/',

];

function detect() {
dojo.forEach(urls, function(url) {
var iframe = dojo.create(“iframe”, { src: url, id: url });
dojo.attr(iframe, “style”, {display: ‘none’});
dojo.connect(iframe, “onload”, function() {
dojo.destroy(iframe);
});

dojo.place(iframe, dojo.body());
setTimeout(function () {
var obj = dojo.byId(url);
if (obj) {
dojo.destroy(iframe);
var entry = dojo.create(“li”, null, dojo.body());
entry.innerHTML = “Yes: ” + url;
} else {
var entry = dojo.create(“li”, null, dojo.body());
entry.innerHTML = “No: ” + url;
}
}, 3000);
});
}
<* /script>

有關上述方法的更多方法和說明,請訪問-http://blog.whitehatsec.com/i-know-what-websites-you-are-logged-in-to-login-detection-via-csrf/

暫無
暫無

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

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