Templates 如何防止Coldfusion将cfform.js注入head部分?

Templates 如何防止Coldfusion将cfform.js注入head部分?,templates,coldfusion,code-injection,Templates,Coldfusion,Code Injection,HTML模板被传递给Coldfusion。模板的头标记具有其他属性: <head profile="http://abc.com"> 问题在于,基于此模板生成输出时,Coldfusion会将其脚本注入head标记中: <head <script type="text/javascript" src="/CFIDE/scripts/cfform.js"></script> <script type="text/javascript" src="

HTML模板被传递给Coldfusion。模板的头标记具有其他属性:

<head profile="http://abc.com">

问题在于,基于此模板生成输出时,Coldfusion会将其脚本注入head标记中:

<head <script type="text/javascript" src="/CFIDE/scripts/cfform.js"></script>
<script type="text/javascript" src="/CFIDE/scripts/masks.js"></script>
profile="http://abc.com">

这会导致
profile=”http://abc.com“>
显示在页面顶部并阻止页面验证

代码注入仅在存在表单标记时发生。如果head标记没有任何属性,则不会发生错误的位置注入。属性的存在是项目要求,不能忽略


是否可以防止Coldfusion注入脚本?

脚本注入仅针对cfforms,而非标准表单。如果您没有使用cfform的任何增强功能,您可以简单地切换到标准表单


我检查了累积热修复程序列表,但没有看到此修复程序。

我的解决方案:将meta标记放在

<html>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<head>

当CF创建页面时,它会将标签放在页面下方,但放在标签上方

<!DOCTYPE html>
<html class=" ext-strict">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script type="text/javascript">/* <![CDATA[ */_cf_loadingtexthtml="<img alt=' ' src='/CFIDE/scripts/ajax/resources/cf/images/loading.gif'/>";
_cf_contextpath="";
_cf_ajaxscriptsrc="/CFIDE/scripts/ajax";
_cf_jsonprefix='//';
_cf_clientid='9851DA49BD375D9722A9D6B1951976AC';/* ]]> */</script><<script type="text/javascript" src="/CFIDE/scripts/ajax/yui/yahoo-dom-event/yahoo-dom-event.js"></script>


/**/@Ben谢谢你的建议。这可能就是我最后要做的。我并不期待重写现有的代码。你知道这个问题是否被列为bug?我不知道是否有公开的bug列表。我建议你按照Kip的建议提交它。这里有一个公共的bug追踪器:coldfusion这么做真的很糟糕,我在遗留代码上遇到了同样的问题。史诗般的失败,绝对是一个ColdFusion错误。您可以在此处向adobe报告:如果您提交错误报告,您可能还希望包含此链接,以显示head标记中的profile属性是完全有效的HTML:@Kip谢谢您的建议。我刚刚向Adobe提交了一个bug。@Alex-IIRC,我认为自定义标记可以解决放置问题。虽然还远远不够理想,但定制标签黑客在这里会有所帮助吗?@Henry-两者都有。至少在9,0,0241018下是这样。