用户输入相对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将不起作用。