[英]Is it possible to load an execute PHP code out of the database?
如果我的數據庫中有PHP代碼,是否可以在PHP中以某種方式“包含”並執行它? 好吧,確定我可以寫出一個包含該內容的文件並僅包含該文件,但是也許PHP具有類似於JavaScript的eval()的功能?
請注意,雖然不使用eval()
而是從數據庫中寫出一個文件並包含該文件,但它具有完全相同的安全風險...問題不在於eval()
還是eval()
,問題在於:什么是否有人入侵您的數據庫,並且能夠修改PHP代碼? 就能讓您的服務器運行其php腳本,並執行他們喜歡的任何事情。
PHP有eval()。 但是請不要使用它! :D
那使用文件緩存呢? 您始終可以將PHP代碼臨時存儲在文件中並包含它。 具有文件生成,存儲在緩存中的簡單邏輯,包括正確的文件和刷新舊文件(md5校驗和+標記為文件緩存的時間戳+修改時間戳)。 然后只需比較兩個時間戳即可知道是否需要更新緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.