CFForm与Coldfusion中的形式

cor*_*ews 5 forms coldfusion cfform

我一直在coldfusion中使用普通表单和输入字段已有一段时间了,但最近发现cfinput标签会自动阻止一些xss攻击.这让我想知道,如果在正常形式和输入标签中使用cffrom和cfinput存在任何缺点,那么在coldfusion中.

我在短时间内发现的唯一缺点是它为页面添加了2个外部样式表和1个脚本标记.

所以简而言之:

在Coldfusion中使用CFFORM而不是FORM有什么优缺点?

cha*_*fer 9

我更喜欢在我的表单周围编写自己的JS.我在当天开始使用cfform,但最终想要做比cfform能够处理的更强大的东西(验证等).这迫使我学习JS,从那以后我一直很高兴写自己的JS.

所以我想我会说一个很大的缺点就是你只能接受cfform可以处理的内容.根据您的情况,这可能没问题.

我很久以前遇到的另一个缺点(这是公平的,可能已经解决过),cfform生成的JS会与我手写的JS发生冲突或干扰.

它肯定会归结为偏好.使用cfform或常规表单既不"正确"也不"错误".对我来说,我更喜欢能够做任何我需要手动操作的操作,因为没有限制/限制.

  • 我还是喜欢自己添加HTMLEditFormat(),我想添加它.这种方式如果需要_not_使用它,我不必提出解决方法.但那就是我.就像亨利在回答中说的那样(我在解读),如果它对你有用,那就用它吧.在大多数情况下,"优势"或"劣势"将是主观的. (2认同)

Hen*_*nry 5

我与<cfform>&有一种爱恨交织的关系<cfinput>.

为了获得与CFFORM提供的相同的xss保护,只需将htmlEditFormat()包含在常规的值=""中,如下所示:

<input name="x" value="#htmlEditFormat(x)#">
Run Code Online (Sandbox Code Playgroud)

为了获得更好的XSS保护,请使用OWASP Enterprise Security API(.jar包含在其中一个CF9最新修补程序中)

我喜欢如何在不编写JS的情况下轻松地执行ajaxified表单,但我讨厌它如何生成大量丑陋的JavaScript并加载大量的JS和css文件以获得相当简单的东西.所以我决定只将cfform用于内部网站,而不是面向公众网站(性能问题).

其他则AJAX特征中,所述checked接受CF布尔和填充选择与查询对象属性是功能cfinputcfselect提供其可以是相当有用的.

使用正确的工具来完成正确的工作.如果您发现<cfform>有用的功能,请使用它.只要知道它的局限性,就自己决定吧.