用戶輸入相對URL我有使用用戶輸入包含文件到一個PHP腳本需要的項目。用戶輸入可以是任何相對URL(EX:/folder1/folder2/file.jpg,/資料夾/文件夾2 /)結構匹配的preg_match
請問以下是一個很簡單的正則表達式來檢查,如果輸入的是理智:
if(preg_match('/^(\/[-_a-zA-Z0-9]+)+\/?$/D', $_GET['loc']))
{
//Location is good!
}
顯然我希望避免任何本地文件包含攻擊。在我得到白名單建議而不是像上面那樣包含文件之前,我有1000個文件,因此switch語句或if/else將不起作用。