0

我花时间搜索,但找不到答案。我对编程有点陌生。

我们正在使用 ColdFusion 16 并希望消除不需要的字符,主要是为了防止 sql 中的脚本注入。我想这就是所谓的。

<CFIF REFind("[^a-zA-Z0-9-$!%$?.,;:' ()-+=]", FORM.COMMENT)>
<H1>Message</H1>
<cfabort>
</CFIF>

这有效,除非它找到换行符。如何在正则表达式中添加换行符/换行符以允许它们?

我做了一个简单的替换来暂时解决这个问题,但它并不优雅,而且可能令人尴尬。必须是一个更好的解决方案:

<cfset FORM.COMMENT = replacenocase("#FORM.COMMENT#",chr(13)&chr(10),"yyyy","all")>

 <CFIF REFind("[^a-zA-Z0-9-$. ()-+=]", FORM.COMMENT)>
<H1>Message</H1>
<cfabort>
</CFIF>
<cfset Form.COMMENT = replace("#Form.COMMENT#","yyyy",chr(13)&chr(10),"all")>
<cfset Form.COMMENT = replace("#Form.COMMENT#","yyyy",chr(13)&chr(10),"all")>
4

0 回答 0