सबसे सुरक्षित और आसान बनाए रखने का विकल्प PHP में समर्पित "मिनी-भाषा" प्रोग्राम करना होगा। आप इसे php का सबसेट बना सकते हैं, या इसे Excel सूत्रों की तरह दिख सकते हैं, या यहां तक कि अपना स्वयं का आविष्कार भी कर सकते हैं। इस तरह आप हमेशा क्या हो रहा है का पूरा नियंत्रण रखेंगे।
//
सिर्फ मनोरंजन के लिए, यहाँ आप
function lisp($x) {
if(is_string($x)) {
$re = '~\(([^()]*)\)~';
while(preg_match($re, $x))
$x = preg_replace_callback($re, 'lisp', $x);
return trim($x);
}
$x = preg_split('~\s+~', $x[1]);
$e = array_shift($x);
if(!$x)
return is_numeric($e) ? floatval($e) : $e;
switch($e) {
case '+': return lisp($x[0]) + lisp($x[1]);
case '-': return lisp($x[0]) - lisp($x[1]);
case '*': return lisp($x[0]) * lisp($x[1]);
case '/': return lisp($x[0])/lisp($x[1]);
case 'concat': return lisp($x[0]) . lisp($x[1]);
}
return function_exists($e) ?
call_user_func_array($e, array_map('lisp', $x)) : '';
}
$input = '
(strtolower
(concat
(strrev olleh)
(+ 22 20)))';
echo lisp($input); // hello42
एक छोटे से लिस्प है;))
@stereofrog यही कारण है कि मैं यह नहीं कर रहा हूँ की सिफारिश है। इसे कम भ्रमित करने के लिए मेरे उत्तर को संपादित करने के लिए स्वतंत्र महसूस करें। मैं स्पष्टीकरण पर भयानक हूँ। – NullUserException
यह नहीं होना चाहिए कि "विश्वसनीय फ़ंक्शन ** श्वेतसूची ** PHP में असंभव है"? क्योंकि अक्षम_फंक्शन का उपयोग करके ब्लैकलिस्टिंग संभव है। – wimvds
ध्यान नहीं दिया, मैं इसे संपादित करूँगा: पी। – wimvds