我正在尝试制作一个插件系统,该插件包含PHP代码。
我想如果有人恶意到达上传此插件的区域,他可以上传恶意代码
所以我想限制插件文件中使用的功能,例如,如果有eval()或base64_encode
功能,则上传应该失败。
我认为这将由正则表达式完成,但我没有经验。
所以我想要那样的东西
<?php
$file = 'plugin.php';
$content = file_get_contents($file);
if(file_is_secure($content)){
upload($file);
}else{
exit('evil');
}
?>
见这个例子
<?php
$content = file_get_contents('example.php');
preg_match_all("/(function )(\S*\(\S*\))/", $content, $matches);
foreach($matches[2] as $match) {
$function[] = "// " . trim($match) . "<br />\n";
}
natcasesort($function);
$functionlist .= "/* Functions in this file */<br />\n";
$functionlist .= "/**************************/<br />\n\n";
$functionlist .= implode('', $function);
echo $functionlist;
?>
我想要一个这样的但是用于制作白名单而不是用于使用功能,但对于它自己的功能“我的意思是function();
而不是function name(){}