我有一个在CF2016上运行的应用程序。我们最近添加了Canonicalize()
和其他一些功能来防止xss攻击。大多数使用此应用程序的客户端都在CF2016上,但其中一些客户端在CF9上(将于明年左右升级)
代码失败,因为CF9中没有此类功能。有很多方法可以处理它,但是如果我不得不编写一个自定义的Canonicalize函数,如何使用本机CF9函数对输入进行编码?
最佳答案
我问一个问题,它在不久前反方向起作用。参见:ColdFusion doing OWASP esapi via Java
规范化是通过OWASP ESAPI完成的。首先,您创建一个Java对象。它具有所有编码功能
local.esapi = createObject("java", "org.owasp.esapi.ESAPI");
application.esapiEncoder = local.esapi.encoder();
以后你可以
myVariable = application.esapiEncoder.canonicalize(myVariable);
有关
org.owasp.ESAPI.encoder()
随附的所有功能的完整列表,请参见:https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/Encoder.html关于coldfusion - CF9的规范化替代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58878975/