我使用模板解析器類來呈現我的視圖。因爲視圖對某些用戶是可編輯的,所以我需要在視圖中禁用php解釋器。如何在模板視圖中禁用php引擎
這是幹什麼的?
問候!
編輯:
- 我加入.htaccess文件在目錄視圖:
AddType text/plain .php
- 我擴展CI_Loader替換的PHP中_ci_load開始標記(PHP的標記前加入斜線) ()函數。
現在php不能在視圖中工作。
我使用模板解析器類來呈現我的視圖。因爲視圖對某些用戶是可編輯的,所以我需要在視圖中禁用php解釋器。如何在模板視圖中禁用php引擎
這是幹什麼的?
問候!
編輯:
AddType text/plain .php
現在php不能在視圖中工作。
(假設你使用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/
我不明白你的問題。
您的解析器是否可以識別模板中的PHP?如果是這樣 - 禁用將如何幫助?如果沒有 - PHP會如何處理您的模板?他們有.php擴展名嗎?