1
我正在處理一個腳本,以自動爲您簽入一個項目的basecamp ...到目前爲止,我已經拿出以下內容作爲簡單的事情,只是您提交了哪些帖子到一個iframe:在IE問題中通過iframe提交HTTPS
<html>
<head>
<style>
#bc1{ width: 100%; height: 350px; }
</style>
</head>
<body>
<iframe id="bc1" name="_bc1"></iframe>
<form method="post" id="bcform" action="https://launchpad.37signals.com/session" target="_bc1">
<input name="authenticity_token" type="text" value="PyweDIeBkqaAOltDviI/nOADpyrESRDf77R2v7W/6tM=" />
<input id="product" name="product" type="text" value="basecamp" /><br/>
<input autocapitalize="off" autocomplete="on" class="overlayable" id="username" name="username" title="Username" type="text" />
<input autocomplete="on" class="overlayable" id="password" name="password" title="Password" type="password" />
<input name="commit" type="submit" value="Sign In" />
</form>
</body>
</html>
這部作品在所有的瀏覽器除了IE8(大概7,6)
輸入您的大本營登錄/密碼輸入到文本框,然後點擊登錄試試看。
有沒有人知道爲什麼這在IE瀏覽器中打破,但在其他瀏覽器工作?
事實上,它確實增加了一些安全性,因爲憑據可現在去,而不是送過來作爲查詢字符串的一部分。因此,至少使用iframe可以防止密碼在服務器訪問日誌中顯示明文。 – Leven 2013-01-30 08:10:44
@Leven,使用POST或GET與使用iframe無關。當然,在GET中使用密碼通常是一個糟糕的主意。 – Bruno 2013-01-30 08:51:26
@Brunoa,它在某些情況下。想象一下在HTTP託管頁面上出現的登錄彈出窗體。由於同源策略,您無法從該頁面向HTTPS執行Ajax POST。儘管使用JSONP,GET仍然是可能的,但是您可以在查詢字符串中發送密碼。使用通過HTTPS加載的iframe,但是可以通過HTTPS進行POST,這在我看來更安全一些。 – Leven 2013-01-30 09:03:08