2015-09-26 2 views
0

Кажется, я получаю сообщение об ошибке, что содержание слишком долго, но я никогда не указано, что существует предел 5000. 5000 является слишком низким в любом случаеПочему getSafeHTML() выдает ошибку?

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)

+1

Ну, это немного очевидно, почему вы получаете ошибку: у CF явно было ограничение 5000 символов на входную строку для функции. Сообщение об ошибке говорит так же! Лучший вопрос может заключаться в том, «как мне/я могу увеличить этот лимит» и/или поправить ошибку с Adobe. –

ответ

1

antisamy настройки сохраняются в cfusion/Lib/antisamy-basic.xml, и там очень четко порог 5000 голец установить там:

<directive name="maxInputSize" value="5000"/> 

Изменения этого значения влияют на то, как работает getSafeHtml().

Как я узнал об этом? Я этого не сделал. Но когда я прочитал ваш вопрос, у меня было присутствие ума до go look. Мне потребовалось около 30 секунд, чтобы найти его и еще 10 секунд, чтобы изменить мой тест, чтобы продемонстрировать, что это значение работает, как и ожидалось. Я не могу не думать, что вы могли бы потратить свое время лучше здесь: самостоятельно устранить проблему, а не публиковать в Stack Overflow.

Еще: у вас есть свой ответ.

Вторая часть этого - почему этот порог настолько тупо низкий? Субъективно, я бы сказал, это потому, что команда Adobe ColdFusion не очень грамотна, и им не приходило в голову, что 5000 символов HTML не очень много в наши дни. Они не знали бы этого, поскольку они не являются веб-разработчиками, и поэтому они не особенно хороши в повседневном использовании программного обеспечения, которое они предоставляют. Это проявляется неоднократно, за счет их пользовательской базы.

У меня есть ошибка для этого: https://bugbase.adobe.com/index.cfm?event=bug&id=4064602. Хорошее использование вашего времени может состоять в том, чтобы голосовать за него.

+1

Эпилог: ColdFusion 2016 изменил эту настройку на 100 000. –