2008-10-31 62 views
6

是否可以確定我的網站是否作爲受信任的站點訪問?在another question中,我們確定,通常,對客戶端IE設置具有可見性是不明智的。這會成爲例外嗎?如何檢測IE是否將我的網站作爲可信站點訪問?

我想這樣做的原因是,除非網站被作爲可信站點訪問(例如客戶端sendmail - 不要求),否則一些功能將無法工作,而且我想能夠警告用戶。儘管網頁上有很多警告,但許多用戶仍然不會閱讀,並向我們發送惡意圖片。我們希望通過檢測這種情況來減少電子郵件的數量,並閃爍一個基本上顯示爲「」的大警告,您沒有閱讀警告,並且在您更改設置之前,您正在嘗試執行的操作不會起作用! 「任何想法都是受歡迎的。

編輯:在我們的商店裏,客戶端sendmail只有在網站可信的情況下才能正常工作,並且由於安全要求我無法更改,也不能切換到服務器端的sendmail。但是,這不是客戶端sendmail失敗的唯一原因,所以我不能簡單地捕獲sendmail錯誤來確定它。另外,我不希望這會降級到sendmail討論。

+0

首先,你能提供一些示例代碼嗎?我沒有看到try/catch如何解決它。其次,我知道你不希望在技術/實施方面發生戰爭,但是我們能否問你爲什麼試圖以這種方式發送電子郵件?這似乎是最不穩定的選擇。 – scunliffe 2008-11-05 15:23:20

+0

該應用程序支持多個Sarbanes-Oxley敏感應用程序的更改授權機制的一部分。安全人員堅稱,客戶端的sendmail是防止欺騙發件人地址的唯一方法。沒有任何爭論會改變他們的想法。 – 2008-11-07 04:52:18

+0

@肯保羅,你有任何關於檢測可信站點的想法...請我也需要... – 2013-04-30 12:17:09

回答

0

從我的理解,這是不可能的,但您可能有一些運氣測試的更具體的條件,如具體的技術或您需要的技術的可用性。客戶端代碼在瀏覽器上放置什麼類型的需求(ActiveX,Java,腳本等)?知道如何測試客戶端代碼所需的環境的客戶端瀏覽器將是一個非常好的開始。

2

這是一個測試你可以使用:

function isTrustedIE(){ 
    try{ 
     var test=new ActiveXObject("Scripting.FileSystemObject"); 
    } 
    catch(e){ 
     return false; 
    } 

    return true; 
} 

這當然會,失敗,如果用戶已經禁用了特定的對象,甚至在受信任的站點。

0

您可以詢問當前登錄用戶的用戶名,如果您知道該網站位於「可信站點」或「本地Intranet」區域中,

0

也許,處理這個問題的好方法,同時還支持不尋常的組合,是測試一個特定的行爲是否成功。

例如,如果你需要做

a.innerHTML = "abc"; 

,那麼你可以檢查的innerHTML是否被改變。不幸的是,我無法向您保證所有功能都可以檢測到。 另外,try ... catch語句可能非常有用。

0

在你的情況下(你遇到的具體問題是sendmail失敗),我仍然建議捕獲sendmail失敗,但是會給出一個更一般的答案。 「你的郵件失敗了,它可能因爲下列原因之一而失敗」,然後拋出一個項目符號列表,「沒有讓這個站點信任」,並且在頂部顯示爲大膽和大膽。如果sendmail由於使網站不可信的原因而失敗,畢竟用戶可能也需要了解這一點。

相關問題