清理查询字符串以避免 XSS

问题描述 投票:0回答:1

我的(旧)站点是使用 Kentico v12 Portal Engine 构建的。 我有 [1] 一个自定义页面类型来保存人员列表,包括他们的“姓名首字母”,以及 [2] 一个页面,用于根据人员姓名首字母的查询字符串值显示每个人的数据。

例如,如果页面 URL 为

www.example.com/sales?i=jd
,则会显示 Jane Doe 的信息。

页面上有一个 Repeater Web 部件,用于指向自定义页面类型,其 WHERE 条件如下所示:

Initial = '{% QueryString.i #%}'

现在一切正常。然而,IT团队要求我修复上面页面的XSS漏洞。

我想我需要清理查询字符串值(i),但是,我尝试了不同的方法,包括将 WHERE 条件编辑为此

Initial = '{% UrlEncode(QueryString.i) #%}'
,但没有任何效果。

请帮忙,让我知道如何正确清理查询字符串并修复 XSS 漏洞。

kentico kentico-12
1个回答
0
投票

我建议检查有关 XSS 的文档并使用例如宏中的 QueryHelper.GetText() 方法。或者,带有“encode”和“handlesqlinjection”等参数的宏 - {% QueryString.Param|(handlesqlinjection)true %} {% QueryString.Param|(encode)true %} (文档

© www.soinside.com 2019 - 2024. All rights reserved.