2013-02-22 52 views
-1

我想知道是否有可能让php命令回显一个全新的php集合。在`echo(“”)中执行php命令;`comman

<?php 
$phpcmd=$_POST["phpcmd"]; 
echo "<?".$phpcmd."?>"; 
?> 

<form action="" method="post"> 
<input type="text" value="<?echo($phpcmd)?>" name="phpcmd"> 
<input type="submit"> 
</form> 
+0

尝试echo'

'; – Ares 2013-02-22 16:27:57

+0

@Ares没有工作的结果是什么。 – master101 2013-02-22 16:31:05

回答

3

你可以做到这一点使用:

eval($phpcmd); 

但是...

我会强烈建议你不要,想想这样的安全隐患,恶意用户用这样的脚本可能会造成很多伤害。

作为PHP docs状态:

中的eval()语言结构是非常危险的,因为它允许 执行的任意PHP代码。因此不鼓励它的使用。如果您 已仔细验证除了使用此构造外没有其他选择,请特别注意不要将任何用户提供的数据 加入其中,而不事先对其进行正确验证。

查看this article了解关于eval()功能的更多信息。

+0

我正在使用的页面位于my/ftp /目录中,我是唯一有权访问它的人。所以我不担心人们访问这个页面。 – master101 2013-02-22 16:42:08

+0

谢谢,这正是我需要的。 – master101 2013-02-22 16:46:08

+0

而且我知道一系列可以从字符串中删除某些输入的命令。 – master101 2013-02-22 16:59:48