为什么 getSafeHTML() 会抛出错误?
Why is getSafeHTML() throwing an error?
我似乎收到内容太长的错误,但我从未指定限制为 5000。反正 5000 太低了
Error validating html input.
Invalid HTML input. Error=The input was too large. The specified input was 6,989 bytes and the maximum is 5,000 bytes.
The error occurred in /Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/bootstrap/row.cfm: line 39
...
Called from /Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/views/theme.cfm: line 32
Called from /Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/index.cfm: line 27
37 : variables.result &= '>';
38 :
39 : variables.result &= getSafeHTML(thisTag.GeneratedContent); // pass through of content
40 :
41 : variables.result &= variables.crlf & '</div><!-- /.row -->';
org.owasp.validator.html.ScanException: The input was too large. The
specified input was 6,989 bytes and the maximum is 5,000 bytes. at
org.owasp.validator.html.scan.AntiSamyDOMScanner.scan(AntiSamyDOMScanner.java:101)
at org.owasp.validator.html.AntiSamy.scan(AntiSamy.java:107) at
coldfusion.security.ESAPIUtils.getSafeHTML(ESAPIUtils.java:670) at
coldfusion.runtime.CFPage.GetSafeHTML(CFPage.java:10785) at
cfrow2ecfm1904818855.runPage(/Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/bootstrap/row.cfm:39)
Antisamy 设置存储在 cfusion/lib/antisamy-basic.xml 中,很明显其中设置了 5000 个字符的阈值:
<directive name="maxInputSize" value="5000"/>
更改该值会影响 getSafeHtml()
的运作方式。
我怎么知道的?我没有。但是当我读到你的问题时,我镇定地 去看看 。我花了大约 30 秒找到它,又花了 10 秒来更改我的测试以证明更改该值按预期工作。我不禁认为您本可以在这里更好地投入时间:自己解决问题,而不是在 Stack Overflow 上发帖。
仍然:你现在有了答案。
第二部分是为什么门槛这么低?主观上,我会说这是因为 Adobe ColdFusion 团队不是很能干,而且他们没有想到现在 HTML 的 5000 个字符不是很多。他们不会知道这一点,因为他们不是 Web 开发人员,因此对他们提供的软件的日常使用不是特别熟悉。这反复出现,以牺牲他们的用户群为代价。
我为此提出了一个错误:https://bugbase.adobe.com/index.cfm?event=bug&id=4064602。好好利用你的时间可能是去投票吧。
我似乎收到内容太长的错误,但我从未指定限制为 5000。反正 5000 太低了
Error validating html input.
Invalid HTML input. Error=The input was too large. The specified input was 6,989 bytes and the maximum is 5,000 bytes.
The error occurred in /Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/bootstrap/row.cfm: line 39
...
Called from /Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/views/theme.cfm: line 32
Called from /Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/index.cfm: line 27
37 : variables.result &= '>';
38 :
39 : variables.result &= getSafeHTML(thisTag.GeneratedContent); // pass through of content
40 :
41 : variables.result &= variables.crlf & '</div><!-- /.row -->';
org.owasp.validator.html.ScanException: The input was too large. The specified input was 6,989 bytes and the maximum is 5,000 bytes. at org.owasp.validator.html.scan.AntiSamyDOMScanner.scan(AntiSamyDOMScanner.java:101) at org.owasp.validator.html.AntiSamy.scan(AntiSamy.java:107) at coldfusion.security.ESAPIUtils.getSafeHTML(ESAPIUtils.java:670) at coldfusion.runtime.CFPage.GetSafeHTML(CFPage.java:10785) at cfrow2ecfm1904818855.runPage(/Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/bootstrap/row.cfm:39)
Antisamy 设置存储在 cfusion/lib/antisamy-basic.xml 中,很明显其中设置了 5000 个字符的阈值:
<directive name="maxInputSize" value="5000"/>
更改该值会影响 getSafeHtml()
的运作方式。
我怎么知道的?我没有。但是当我读到你的问题时,我镇定地 去看看 。我花了大约 30 秒找到它,又花了 10 秒来更改我的测试以证明更改该值按预期工作。我不禁认为您本可以在这里更好地投入时间:自己解决问题,而不是在 Stack Overflow 上发帖。
仍然:你现在有了答案。
第二部分是为什么门槛这么低?主观上,我会说这是因为 Adobe ColdFusion 团队不是很能干,而且他们没有想到现在 HTML 的 5000 个字符不是很多。他们不会知道这一点,因为他们不是 Web 开发人员,因此对他们提供的软件的日常使用不是特别熟悉。这反复出现,以牺牲他们的用户群为代价。
我为此提出了一个错误:https://bugbase.adobe.com/index.cfm?event=bug&id=4064602。好好利用你的时间可能是去投票吧。