中国的溶液过滤时,PHP使用escapeshellarg
本文分析了我国过滤时使用escapeshellarg PHP解决方案。分享给你供你参考。以下是如下:首先,问题:
同样的代码,发现是通过localhost /的index.php访问,没有运行结果通过PHP结果相同。 /的index.php在壳。
在节目中,你需要通过shell_exec执行Linux程序,它的输入来自回波,这是:
shell_exec('echo'。escapeshellarg some_cmd 2 > 1($str)。|);
两。解决方案:
这$str可能包含中文。一开始我以为是自己some_cmd滤去中国,后来发现这是escapeshellarg问题。
看来问题不大,经过查询和测试发现,原来的shell与Apache php CGI操作环境是不同的。
添加php:
setlocale(lc_ctype,UTF8
这是正常的!
希望本文能对PHP程序设计有所帮助。