2009-09-25 18 views
5

將HTML模板傳遞給Coldfusion。模板的head標籤有附加屬性:如何防止Coldfusion將cfform.js注入頭部?

<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">出現在頁面的頂部並阻止頁面驗證。

代碼注入僅在存在表單標籤時纔會發生。如果頭標籤沒有任何屬性,則不會發生錯誤位置的注入。該屬性的存在是項目需求,不能省略。

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

+0

絕對是一個錯誤的ColdFusion以上的標籤。您可以在此處將其報告給adobe:https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&product=7 – Kip 2009-09-25 14:31:55

+0

如果您提交錯誤報告,則可能還需要包含此鏈接以顯示head標籤中的profile屬性完全有效HTML:http://www.w3schools.com/tags/tag_head.asp – Kip 2009-09-25 14:33:17

+0

@Kip感謝您的建議。剛剛向Adobe提交了一個錯誤。 – Alex 2009-09-25 15:15:33

回答

5

腳本注入只針對cfforms,而不是標準形式。如果您沒有使用任何cfform的增強功能,只需切換到標準格式即可。

我檢查了累積修補程序列表,但沒有看到此修復程序。

+0

@Ben謝謝你的建議。這可能是我最終會做的。我非常期待重寫現有的代碼。你知道這個問題是否被列爲任何地方的錯誤? – Alex 2009-09-25 14:10:09

+0

我不知道是否有公開的錯誤列表。正如Kip建議的那樣,我建議你提交它。 – 2009-09-25 15:29:31

+1

這裏有一個公共bug跟蹤器:http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html – Ian 2009-09-25 16:07:11

2

我的解決辦法:把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>