我有一個PHP腳本,它允許用戶通過指定文件名來刪除目錄中的某些文件(通過下拉菜單 - 但對於惡意更改的人來說這很容易) 。我「清洗」通過執行以下操作允許在目錄中訪問文件的安全字符
if(preg_match(/'/^[a-zA-Z0-9.]$/'/,$file)) {
# do stuff to this particular file
}
我相當肯定應該阻止任何人起牀到什麼討厭的文件名,但這裏的人有大量的知識更多的話,我,我想我會問 - 這裏有沒有一個洞,還是這會讓這種討厭的東西消失?
我只是擔心他們離開那個目錄。該目錄中的任何內容都是公平的遊戲,這些文件只能有a-z,A-Z,0-9和。在文件名中。我想知道如果我只允許這些角色出現在目錄中或者破壞真正的破壞時,是否還有一些巧妙的方式。但是,是的,我同意,檢查提交的文件名與我想允許刪除的文件可能是最安全的。 – Will 2011-01-10 01:53:56