我在asp.net中使用ValidationRequest =“True”,它不允许用户输入html标签和脚本,但我被告知在显示浏览器中的用户数据时使用html编码,并使用单引号(' )和双引号逗号(“)可能会导致XSS脚本编写。如果我使用ValidationRequest = True来阻止asp.net中的XSS(跨站点脚本),我们是否需要Html编码?
当我浏览各种资源时,如果我不允许在页面中允许使用html和脚本,我认为不需要编码。我们需要在后端进行编码,而我们在asp.net页面中使用validationRequest = true。如果不需要,我真的不想使用html编码。必须做html编码?
谢谢。
非常感谢。
我尝试了一个');警告(document.cookie +'cookie被黑客入侵,我能够获取用户cookie,我看到编码的重要性,这是否也意味着,如果我没有在JavaScript中使用用户数据,在asp.net控件中的用户数据(比如lblName.Text = userdata)那么就不需要对用户数据进行编码了吗?我是否需要对每个用户数据进行编码,或者只是为了编码我感觉脆弱的地方?您能否给我提供更多示例 – ak0024
在设置标签文本的情况下,提供的值被视为html,因此它可能容易受到XSS的影响。您是否听说过OWASP?您可能会找到他们对XSS的看法很有趣:https://www.owasp.org/index.php/Top_10_2013-A3-Cross-Site_Scripting_(XSS) – RobH