Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从string-PHP加载代码_Php_Apache - Fatal编程技术网

从string-PHP加载代码

从string-PHP加载代码,php,apache,Php,Apache,是否可以在php中从字符串添加功能,而不是将apache链接到dll文件 假设我使用从C源代码编译的.dll,从所需函数中查找指针,复制外壳代码,将其编码为base64字符串,并将其作为字符串加载到php代码中。 我应该使用哪个php函数来执行外壳代码,并从php传递参数?另外,我猜这样的脚本将依赖于机器,因为外壳代码在操作系统上运行。像my_exec.php那样创建文件: <?php //$string = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';

是否可以在php中从字符串添加功能,而不是将apache链接到dll文件

假设我使用从C源代码编译的.dll,从所需函数中查找指针,复制外壳代码,将其编码为base64字符串,并将其作为字符串加载到php代码中。
我应该使用哪个php函数来执行外壳代码,并从php传递参数?另外,我猜这样的脚本将依赖于机器,因为外壳代码在操作系统上运行。

my_exec.php那样创建文件:

<?php

//$string = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
$string = $_GET['string'];

$command = base64_decode( $str );

exec( $command, $results );

?>

现在像这样访问它:
http://mysite.com/my_exec.php?string=VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

如果我明白你的意思


但是请注意!这具有巨大的安全风险

$code=你还没有读过我的帖子。我知道eval,它正在加载php代码。我说的是加载编译的外壳代码。我确实读了你的问题,并花时间回答了。我错误地将您对外壳代码的使用理解为一个示例。exec()是唯一可以用于此目的的函数吗?我也不知道它是否可以执行部分外壳代码(一个函数)。它需要exe文件。有更多的可能性来执行shell脚本,请阅读PHP手册中的更多内容:
$code = <<<'EOT'
    $var = 'foo';
EOT;

eval($code);

echo $var; //Foo