我有一個基本的cms存儲在mysql數據庫的表中的頁面 - 是否有可能在頁面中包含PHP,然後讓PHP處理它,而不是像原樣輸出它?在一個數據庫中處理PHP
1
A
回答
1
我認爲你必須使用eval()來做這樣的事情。所以是的,可能但不推薦。
2
您可以使用eval
(http://php.net/manual/en/function.eval.php)
但請記住,eval is evil
+0
感謝Ewan,我的不好 – 2009-12-13 19:21:10
1
由於這兩個建議都表示,使用eval()不建議和帶來了嚴重的安全問題。
最好的辦法是創建一個基本的模板系統。您可以在前端有一組預先確定的PHP代碼塊,這些代碼塊由後端的某些關鍵值觸發,即{show_categories}
可能是一個標籤,在解析時會被所有類別替換。
要實現這樣的功能,您必須搜索特定的模板鍵值。如果找到任何此類鍵值,請使用該鍵值運行相關的代碼,並用代碼替換該鍵。
查找和替換模板關鍵的一個非常簡單的例子:
// check if the show_categories key is found
if (strpos($body, '{show_categories}') !== false) {
// generate the show categories output from a PHP function
$categories = getCategoriesOutput();
// replace key with content
str_replace('{show_categories}', $categories, $body);
}
+0
+1:Smarty或Phable將是一個選項 – 2009-12-13 19:20:01
相關問題
- 1. 在PHP中處理數據庫錯誤
- 2. PHP笨 - 處理多個數據庫在同一臺服務器
- 3. PHP中的數據庫錯誤處理
- 4. PHP - 在一個數據庫
- 5. PHP:如何處理來自數據庫的這個數據
- 6. 處理在數據庫中同一時間多個條目使用PHP
- 7. cscope中的多個數據庫處理
- 8. 從數據庫處理內容爲php
- 9. PHP數據庫會話處理
- 10. PHP數據處理
- 11. 處理CakePHP中存儲在數據庫中的PHP代碼
- 12. 在Android中處理數據庫
- 13. 在Postgresql數據庫中處理NaN
- 14. 在Android中處理大型數據庫
- 15. 在循環中用php處理數據
- 16. 在PHP中處理excell xml數據
- 17. 在PHP中處理cXML POST數據
- 18. 如何在Android中清理地處理多個數據庫表?
- 19. 在PHP中處理和通知數據庫連接失敗
- 20. 用Eve處理多個MongoDB數據庫
- 21. 從一個大文件中分塊處理多處理數據?
- 22. 在數據庫中插入一個整數數據(PHP)
- 23. 如何處理來自數據庫中2個表的數據?
- 24. Firebase數據庫批處理
- 25. 數據庫處理IOS Swift2.0
- 26. 大型數據庫處理
- 27. 處理數據庫錯誤
- 28. 處理數據庫異常
- 29. 電子數據庫處理
- 30. PHP OOP如何處理數據庫查詢返回的數據
我能問這個安全問題會是什麼? (我是唯一一個可以將內容添加到數據庫的人,我通過phpmyadmin執行此操作) – 2009-12-13 19:07:23
我想你會遇到更多性能問題,而不是安全問題。 eval()非常昂貴,因爲PHP必須爲eval()的每個調用產生另一個解釋器。 – 2009-12-13 19:08:52
嗯,謝謝你:) – 2009-12-13 19:10:08