2011-10-19 37 views
-1

我使用模板解析器類來呈現我的視圖。因爲視圖對某些用戶是可編輯的,所以我需要在視圖中禁用php解釋器。如何在模板視圖中禁用php引擎

這是幹什麼的?

問候!

編輯:

  • 我加入.htaccess文件在目錄視圖:
AddType text/plain .php
  • 我擴展CI_Loader替換的PHP中_ci_load開始標記(PHP的標記前加入斜線) ()函數。

現在php不能在視圖中工作。

回答

0

(假設你使用Apache)

你可以將文件保存.tpl擴展和類似...

AddType text/plain .tpl 

......到Apache的httpd.conf文件(或者.htaccess可能)。

不會當然會阻止人們在模板中添加PHP代碼,如果他們覺得這樣做,但它應該表示如果在Web服務器上查看文件,則代碼不會被解釋;然而,任何發現URI(www.yoursite.ext/templates/a_template.tpl)的人都可以將任何原始的PHP代碼以純文本格式輸入到這些文件中 - 如果出於某種不明確的原因,它可能會非常糟糕define('DB_PASSWORD', "[email protected]");在那裏(確定這將是非常錯誤的,但你明白了)。

更好的解決方案將文件存儲TPL網絡樹之外,或者使用.htaccess Deny from all保護的文件夾裏面 - 你的PHP腳本將仍然能夠拉他們在他們我們不能直接通過http訪問任何人,因此您視圖中的任何PHP將永遠不會被解釋,因爲它永遠不會被訪問。

或者,如果你對你的視圖引擎靈活,看看PHPTAL:http://phptal.org/

0

我不明白你的問題。

您的解析器是否可以識別模板中的PHP?如果是這樣 - 禁用將如何幫助?如果沒有 - PHP會如何處理您的模板?他們有.php擴展名嗎?