在workerman中
我将一个字符串 通过 echo或者其他指令输出, 会直接执行shell命令
$a = `cal`; echo $a;
不清楚是我的问题, 还是什么原因, 反正感觉很恐怖, 如果没有妥善处理用户输入, 很容易造成安全问题
好吧, 这个貌似就是直接执行shell的反引号, 但是 workerman可能会跑在root上,而常规的web服务可能会跑在www用户是,大家多注意一下
这个不是安全问题吧。
$a = `cal`;
相当于
$a = exec('cal');
这个是php的反引号用法,相当于执行linux命令 cal,和echo $a;输出不输出没关系。 即使用户发送了字符串 "`cal`",你打印在屏幕上它也不会执行,它不是靠输出执行的,是你业务代码执行的。
cal
echo $a;
对的 搜了一下, 之前一直没有了解这方面的,今天改sql语句时 无意间发现,搜了一下,感谢
php 基础这里填写shell == shell_exec
这里填写shell
php官网有写呢
好吧, 这个貌似就是直接执行shell的反引号, 但是 workerman可能会跑在root上,而常规的web服务可能会跑在www用户是,大家多注意一下
这个不是安全问题吧。
相当于
这个是php的反引号用法,相当于执行linux命令
cal
,和echo $a;
输出不输出没关系。即使用户发送了字符串 "`cal`",你打印在屏幕上它也不会执行,它不是靠输出执行的,是你业务代码执行的。
对的 搜了一下, 之前一直没有了解这方面的,今天改sql语句时 无意间发现,搜了一下,感谢
php 基础
这里填写shell
== shell_execphp官网有写呢