2014-10-16 35 views
0

我正面臨着Chrome瀏覽器的一個問題。 它是一個在線捐款表單。 用戶可以選擇提供不同的金額。 此表單包含幾個單選按鈕以及提供其他捐贈金額的選項。 這種形式在IE和Firefox中工作正常, 但在Chrome上無法正常工作。 這個問題似乎只發生在回傳上。 關於回發JavaScript函數「selectAmount」和「selectOtherAmount」函數不起作用。 基本上單擊事件的單選按鈕,我打電話給上述簡單的JS功能。 看起來Chrome瀏覽器將此視爲Cross Site Scripting和blocking。回傳後,Javascript功能在Chrome瀏覽器中無法使用

在Chrome調試器在回發中顯示以下錯誤。

「的XSS審計拒絕執行腳本‘myform.aspx?ID = 12345’ ,因爲它的源代碼是在請求中找到。 審計師已啓用作爲發送服務器既不是「X-XSS-保護不是「Content-Security-Policy」標題。「

這裏是我的代碼

if (item[0] == "__OTHER__") 
{ 
    if (selectedValue == "__OTHER__") 
    { 
     amountLevels.Append("<tr><td><input type=\"radio\" name=\"levelamount-" + donationOption + "\" id=\"rbAmountOther-" + donationOption + "\" value=\"" + defaultOtherAmount.ToString("0.00") + "\" onclick=\"selectOtherAmount(this.value,'" + donationOption + "');\" checked=\"checked\" /></td>"); 
    } 
    else 
    { 
     amountLevels.Append("<tr><td><input type=\"radio\" name=\"levelamount-" + donationOption + "\" id=\"rbAmountOther-" + donationOption + "\" value=\"" + defaultOtherAmount.ToString("0.00") + "\" onclick=\"selectOtherAmount(this.value,'" + donationOption + "'); \" /></td>"); 
    } 
    amountLevels.Append("<td><input type=\"text\" id=\"txtAmountOther\" value=\"" + defaultOtherAmount.ToString("0.00") + "\" " + disabled + " onchange=\"selectOtherAmount(this.value,'" + donationOption + "');\" onkeypress=\"return isValidAmount(event);\" style=\"width:70px;\" />" + item[1] + "</td></tr>"); 
} 
else if (string.Compare(selectedValue, item[0], true) == 0) 
{ 
    amountLevels.Append("<tr><td><input type=\"radio\" id=\"rdbAmount-" + donationOption + index + "\" name=\"levelamount-" + donationOption + "\" value=\"" + amount.ToString("0.00") + "\" checked=\"checked\" onclick=\"selectAmount(this.value,'" + donationOption + "');\"></td><td>&nbsp;&nbsp;" + amountLabel + "</td></tr>"); 
    selectedAmount = amount.ToString("0.00"); 
} 
else 
{ 
    amountLevels.Append("<tr><td><input type=\"radio\" id=\"rdbAmount-" + donationOption + index + "\" name=\"levelamount-" + donationOption + "\" value=\"" + amount.ToString("0.00") + "\" onclick=\"selectAmount(this.value,'" + donationOption + "');\"></td><td>&nbsp;&nbsp;" + amountLabel + "</td></tr>"); 
} 

回答

0

這個「功能」可以通過受影響的網頁上發送非標準的HTTP頭X-XSS-Protection被禁用。

X-XSS-Protection: 0 

看到這個職位:Refused to execute a JavaScript script. Source code of script found within request

+0

這在IE和FF做工精細,僅在Chrome發生的事情,你認爲它是一個好主意,禁用此protection.As這是一個HTTPS站點?如果所以你可以給我一些exapmle如何禁用它 – Henry 2014-10-16 19:39:23

+0

我能夠設置X-XSS-Protection:0,我的頁面正在工作,它解決了我的問題。但是建議阻止保護。我唯一擔心的是,是否爲跨站腳本編寫腳本 – Henry 2014-10-16 20:43:52

+0

X-XSS-Protection是Internet Explorer 8(及更新版本)可以理解的HTTP標頭。這個頭讓域可以打開或關閉IE8的「XSS過濾器」,**可以防止某些類別的XSS攻擊**。 IE8默認啓用了過濾器,但服務器可以通過設置關閉。當然,如果你想防止網站遭受XSS攻擊,確實啓用它,它是你的CSP,我相信這不會讓你這樣做。 – 2014-10-17 14:24:36

相關問題