我總是確信PHP函數file_get_contents
和readfile
在任何文件中執行任何PHP代碼 - 無論文件類型如何 - 都會被賦予它。我在多個設置上嘗試了這個,並且它一直工作。做file_get_contents和readfile執行PHP代碼?
我收到了關於這個here一個問題,用戶似乎認爲這種情況並非如此。
我看着的函數的PHP文件,他們不提代碼執行(這是一件好事,如果這通常是這種情況,因爲它有嚴重的安全隱患,我所期望的)。
我也搜索了它,並發現了大量的功能不執行PHP代碼索賠。例如:
readfile不會在您的服務器上執行代碼,所以這裏沒有問題。 source
搜索「PHP的file_get_contents執行代碼」也返回試圖執行檢索PHP代碼,這似乎很奇怪,如果它確實會正常執行任何PHP代碼的各種問題。
我還發現one question詢問沒有執行PHP代碼,所以執行似乎也發生在其他人身上。
所以我的問題是:
- 做檢索到的文件的功能
file_get_contents
和readfile
執行PHP代碼? - 這是否取決於一些php.ini設置?如果是這樣,什麼設置?
- 是否依賴於PHP版本,如果有,哪些版本會受到影響?
- 如果通常情況不是這樣,他們在我的設置中執行PHP代碼的原因是什麼?
似乎更多的是編程問題而不是安全問題。你檢查了php.net手冊嗎?似乎沒有執行我... –
我真的很想看到一個代碼示例,其中「that works」... – deceze