安全性问题

xcsoft

在workerman中

我将一个字符串 通过 echo或者其他指令输出, 会直接执行shell命令

$a = `cal`;
echo $a;

不清楚是我的问题, 还是什么原因, 反正感觉很恐怖, 如果没有妥善处理用户输入, 很容易造成安全问题

截图

阅读 156
3个回答

xcsoft

好吧, 这个貌似就是直接执行shell的反引号, 但是 workerman可能会跑在root上,而常规的web服务可能会跑在www用户是,大家多注意一下

  • 暂无评论
six

这个不是安全问题吧。

$a = `cal`;

相当于

$a = exec('cal');

这个是php的反引号用法,相当于执行linux命令 cal,和echo $a;输出不输出没关系。
即使用户发送了字符串 "`cal`",你打印在屏幕上它也不会执行,它不是靠输出执行的,是你业务代码执行的。

  • xcsoft 2021-11-12

    对的 搜了一下, 之前一直没有了解这方面的,今天改sql语句时 无意间发现,搜了一下,感谢

adminv

php 基础这里填写shell == shell_exec

php官网有写呢

  • 暂无评论