我有一些旧的 ColdFusion 代码。它最初是为 CF9 编写的,但现在运行在 CF 2016 上。
应用程序.cfc
local.esapi = createObject("java", "org.owasp.esapi.ESAPI");
application.esapiEncoder = local.esapi.encoder()
很久以后
常规页面
form.Reason = application.esapiEncoder.encodeForHtml(form.Reason);
我正在考虑将其替换为
form.Reason = encodeForHTML(form.Reason);
这些功能一样吗?
是的encodeForX()
函数在幕后使用 OWASP 的 ESAPI。encodeForHTML()
是CF10+并且有一个canonicalize
参数,它将输入降低到最低因子。 CF2016添加了一个encodeFor
论点cfoutput
用于输出的标签具有类似的功能。还有canonicalize()
函数将抛出一个您可以捕获的错误。这对于查看是否有人试图在您的表单或网站上输入恶意输入非常有用。我想不出对输入进行双重或多重编码的合法原因,我会解释为攻击。中的论据encodeForX()
函数会将其降低到其基本评估,但它不会抛出错误,只是返回结果输出。就我个人而言,我不确定是否有很多意外的方式来传递由规范化获取的值,我只是宁愿抓住这种尝试并将该用户踢出我的网站。
https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-e-g/encodeforhtml.html https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-e-g/encodeforhtml.html
https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/Canonicalize.html https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/Canonicalize.html
https://www.owasp.org/index.php/Category:编码 https://www.owasp.org/index.php/Category:Encoding
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)