我正在爲我的一個網站編寫一個基本的CMS,並遇到了一些問題,其中一些頁面需要動態地爲PHP和JS提供服務,其他人都是普通的HTMl。我希望有一個設置可以讓這個頁面需要它,並且會加載ACE編輯器而不是一個不同的wysiwyg編輯器。我想拒絕任何在非代碼啓用頁面上編碼的輸入。我如何確保從數據庫中包含的所有JS和PHP都不會執行?發現在Web輸入中的代碼,PHP
回答
你並不真的想這樣做。除了安全方面的問題,如果你做錯了事情,它將成爲一個絕對的維護噩夢 - 沒有好方法將CMS頁面放入版本控制。在開發環境和活動網站之間測試和遷移代碼變得脆弱,至多。 In one of my other posts,我詳細介紹了運行Drupal站點&時出現的問題,您正在開始一條類似的道路。如果你堅持遵循這個計劃,走的路是使用一個適當的模板引擎(我最近一直在使用h2o)&讓你不必擔心會轉義內容。另一件事我會做的是將PHP和代碼的可顯示部分分開放在完全獨立的字段中。這不僅可以讓你獲得更清晰的代碼(記住,混合顯示和邏輯是壞的),但你總是可以把你顯示爲'啞'文本,並且只允許它通過模板訪問你的PHP輸出。
關於CMS的有效點。這是一個不幸的必要性,因爲那些主動更新網站的人甚至不知道基本的html。 (並且當前網站是由正在閱讀「PHP for Dummies」的人編寫的,所以它不會太不安全!)。 我會查看h2o。我的部分問題是,許多頁面是從一些舊的數據庫中產生的,其他3/4的人需要能夠從WYSIWYG編輯器進行更新。 – bytewalls
@bytewalls我的投訴並不是反CMS,因爲它是反代碼在數據庫。我的答覆的後半部分着重於控制風險。 –
- 1. 在PHP代碼中輸出HTML代碼
- 2. 在輸入中發現#或@
- 3. 剛剛發現的惡意PHP代碼
- 4. 在php中嵌入代碼
- 5. PHP的preg_replace不替代輸入代碼與HTML代碼
- 6. php代碼輸入我的html
- 7. PHP代碼允許在表單中輸入特定號碼
- 8. 我的PHP代碼不發送用戶輸入到數據庫
- 9. 在php-mysql中的代碼實現
- 10. PHP在輸入Web服務XML中編碼特殊字符XML
- 11. 在PHP變量中插入PHP代碼
- 12. 提高代碼中發現
- 13. 現代web開發的cookie替代品?
- 14. 如何在另一個PHP代碼中插入PHP代碼?
- 15. 在Woocommerce的PHP代碼中插入類
- 16. 發現代碼庫
- 17. 如何在代碼中實現cron(php)?
- 18. 你在哪裏輸入代碼塊中的控制檯輸入?
- 19. 在Netbeans中輸入未定義數量的輸入代碼
- 20. 在C代碼中發現「穿透」
- 21. 現代化的Firefox中的輸入類型號碼
- 22. 阻止用戶在textarea中輸入PHP代碼?
- 23. 如何在php代碼中找到輸入?
- 24. 在PHP代碼中輸入HTML表單數據?
- 25. php代碼不能在HTML輸入標記中正確解析
- 26. 如何在字符串變量中輸入一些PHP代碼
- 27. CMD:輸入代碼
- 28. SVN在指定文件中插入代碼時發現
- 29. 發現jQuery的輸入值
- 30. 方式在C#中輸入代碼行
php代碼只運行服務器。沒有什麼可以在瀏覽器的文本框中使用php代碼來做到這一點,它可以在沒有英雄式干預的情況下運行 –
只有Jon Skeet可以從文本框運行PHP。 – GolezTrol