2014-10-16 4 views
0

Chrome 브라우저에 문제가 있습니다. 온라인 기부 양식. 사용자는 다른 금액을 기부 할 수 있습니다. 이 양식에는 다른 기부액도 제공하는 옵션과 함께 라디오 버튼이 거의 없습니다. 이 양식은 IE 및 Firefox에서 제대로 작동합니다 ( ). Chrome에서는 제대로 작동하지 않습니다. 문제는 포스트 백에서만 발생하는 것으로 보입니다. 자바 스크립트 함수 "selectAmount"및 "selectOtherAmount"포스트 백이 작동하지 않습니다. 기본적으로 라디오 버튼의 클릭 이벤트에서 위의 간단한 js 함수를 호출합니다. Chrome에서 교차 사이트 스크립팅 및 차단으로 간주합니다.Chrome 브라우저에서 Javascript 기능이 작동하지 않습니다. PostBack

크롬 디버거에서 포스트 백에 다음 오류가 표시됩니다.

"는 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을 전송하여 해제 할 수 있습니다이 "기능"입니다. 경우?, 당신은 좋은 생각이가 HTTPS 사이트입니다이 protection.As을 사용하지 생각 하는가, Refused to execute a JavaScript script. Source code of script found within request

+0

이는 크롬에 일어나고, IE와 FF에서 잘 작동 :

X-XSS-Protection: 0 

이 게시물을 참조 그래서 당신이 내게 몇 가지 exapmle 그것을 해제하는 방법을 제공 할 수 – Henry

+0

나는 X - XSS - 보호를 설정할 수있었습니다 : 0, 내 페이지가 작동하고 내 문제를 해결했습니다. 그러나 보호를 차단하는 것이 좋습니다. 유일한 관심사는 크로스 사이트 스크립팅을위한 포장입니까? – Henry

+0

X-XSS- 보호는 Internet Explorer 8 (및 최신 버전)에서 이해하는 HTTP 헤더입니다. 이 헤더를 사용하면 도메인이 XSS 공격의 일부 카테고리를 차단하는 IE8의 "XSS 필터"를 켜거나 끕니다 **. IE8은 필터가 기본적으로 활성화되어 있지만 서버는 설정에 따라 전환 할 수 있습니다. 물론, XSS 공격으로부터 사이트를 보호하려면 CSP를 사용하도록 설정하십시오. 어떤 방식 으로든 그렇게 할 수는 없습니다. –

관련 문제