有没有办法在PHP中执行带有参数但没有“shell”的命令。在没有shell的情况下使用参数执行命令php
问题是exec()
和shell_exec()
在shell中运行提供的字符串,因此任何用户输入的数据都必须转义。
有没有办法做到这一点,如:
some_exec(["command","argument","argument])
作为一个会做它例如Python或Java的。
我会非常能够用参数执行命令而不必转义一些参数。
我正在为一个路由器的UI工作,并通过一个命令 设置Wifi密钥,现在我必须转义字符串限制密钥可以包含的字符数。如果我在哪里不逃避关键的人可以做任何注射没有任何问题。
澄清 之所以这样,其实是在这种情况下,一个恼人的问题是,我需要执行下面的命令:
[email protected][0].key='<the password>'
的问题是,由于密码被在设置一个字符串这个密码,$il|\|t
将变成\$ile\|\\\|t
现在的问题是不正确的密码是有效的。因此,存储的密码与用户输入的密码不同。
即使我们进入一个字符串密码,我们可以还是做这样' ; reboot ; '
只需检查下面的链接[链接] http://php.net/manual/en/function.exec.php [/ link] – sam