嗨我的PHP項目用戶通過表單輸入發送主題的名稱(這是一個電報桌面主題製造商)。 (該項目在github上託管Github Project) 問題是: 我在主題名稱中使用此用戶可能訪問服務器上的任何文件夾。 我試圖用這個承諾糾正:Github commit用戶輸入中的路徑注入
$theme_name = str_replace("/", "_badyou_", $_GET["name"]); //contains the good themename
我需要的只是名字,所以我認爲,消除「/」是不夠的。 但我需要一個真正瞭解php的人比我更好的意見。
P.S抱歉,我的英語不好。 預先感謝您。
你的代碼是否有一個機制向用戶通知錯誤?我認爲,讓每個人都可以更容易地拒絕錯誤輸入,而不是隨意更改用戶輸入;更不用說黑名單方法註定要失敗。 –