【发布时间】:2014-12-12 06:41:10
【问题描述】:
我在使用 Chrome 浏览器时遇到了一个奇怪的问题。 它是一个在线捐赠表格。 用户可以选择贡献不同的金额。 此表格包含几个单选按钮以及提供其他捐赠金额的选项。 这种形式在 IE 和 Firefox 中运行良好, 但在 Chrome 上无法正常工作。 该问题似乎仅在回发时发生。 在回发 javascript 函数中,“selectAmount”和“selectOtherAmount”函数不起作用。 基本上在单选按钮的单击事件上,我调用了上述简单的 js 函数。 看起来 Chrome 将其视为跨站点脚本和阻止。
在 chrome 调试器中,在 Postback 上显示以下错误。
"XSS Auditor 拒绝执行 'myform.aspx?id=12345' 中的脚本 因为在请求中找到了它的源代码。 审核员已启用,因为服务器既未发送“X-XSS-Protection”也未发送“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> " + 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> " + amountLabel + "</td></tr>");
}
【问题讨论】:
标签: javascript jquery html asp.net google-chrome