2011-11-10 50 views
1

我的任務是研究在Web根目錄之外存儲.cfm文件的可能性,作爲進一步的安全措施。 (我不是在談論CFC,而是將出現在URL字符串中的文件)。在web根目錄之外存儲和使用ColdFusion模板

我想我可以在Application.cfc中使用OnRequest()的屬性來做到這一點,但沒有運氣。

我已經試過這樣:

<cffunction name="OnRequest" access="public" returntype="void" output="true"> 
    <cfargument name="TargetPage" type="string" required="true"/> 

    <cfinclude template="C:/test#arguments.TargetPage#"/> 

    <cfreturn/> 
</cffunction> 

我再放入test.cfmC:\test並試圖http://localhost/test.cfm。這給了我一個「找不到文件」的錯誤。

於是我創建了一個ColdFusion映射到C:\test稱爲「測試」,並改變了我的CFINCLUDE正是如此:

<cfinclude template="/test#arguments.TargetPage#"/> 

不幸的是我得到了同樣的錯誤。

那麼,我之後甚至有可能? (Windows Server 2008和IIS在它的問題的情況下。ColdFusion的9)


我知道,我可以把一個CFINCLUDE我index.cfm和繞過網址像http://www.example.com/?file=test.cfm,但我寧願不要做那。


好這裏的東西:如果我在網站根目錄放一個空test.cfm那麼這個工作。很明顯,我真的不會爲我的每一個文件(對於這個項目來說,最終都會有成百上千個)放置空的存根。

回答

3

而不是旋轉你的車輪沿着這條路,讓我指出你可以解決原來的問題可能更好的方向發展,但更優選的/最佳實踐的角度來看:

ColdFusion Sourceless Deployment

而不是試圖讓站點閱讀根以外的文件,你根本就不會將源代碼放入世界。

+0

有趣。我將不得不測試它。謝謝。 – ale

相關問題