我有以下脚本来保护目录遍历攻击中的页面:
function secure_file_path($file_path){
preg_match('/(wp\-content\/themes|wp\-content\/plugins)/', $file_path, $matches);
if(count($matches) > 0){
preg_match('/(\/*\.{2}\/*)/', $file_path, $dir_traversal);
if(count($dir_traversal) > 0){
return false;
}
return true;
}
return false;
}
在我运行secure_file_path()
之前已调用 DirectoryIterator
来检查是否有wp-content/plugins
或wp-content/themes
字符串并检查..
。但这足够安全了吗?
PS:$file_path
的示例输入可以是/home/linux_user/www/wp-content/themes/ltru/../../../../../../etc/passwd