CFQUERY没有正确转义单引号

jas*_*son 2 coldfusion escaping

可能重复:
Coldfusion在字符串中构造数据库查询时添加额外的引号

所有,

我试图在插入过程中使用getter引用bean.CF没有在'form.title'中的值中正确转义单引号,因此我收到格式错误的SQL错误.

有任何想法吗?

这是代码.

<cfscript>
form.title = "page's are awesome";

page = new model.page.page(argumentCollection = form);
Run Code Online (Sandbox Code Playgroud)

<cfquery name="test" datasource="ksurvey">
insert into page(title)
values('#page.getTitle()#')
</cfquery>
Run Code Online (Sandbox Code Playgroud)

cha*_*fer 14

如果你打算这样做,你需要preserveSingleQuotes()

INSERT INTO page( title ) VALUES ( '#preserveSingleQuotes( page.getTitle() )#' )

当然,插入关于如何使用cfqueryparam来避免SQL注入攻击的标准警告.

INSERT INTO page( title ) VALUES ( <cfqueryparam value="#page.getTitle()#" cfsqltype="cf_sql_varchar" /> )

以供参考: