Я пытаюсь создать систему плагинов, которая содержит код 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(){}