在workerman中
我將一個(gè)字符串 通過(guò) echo或者其他指令輸出, 會(huì)直接執(zhí)行shell命令
$a = `cal`;
echo $a;
不清楚是我的問(wèn)題, 還是什么原因, 反正感覺很恐怖, 如果沒(méi)有妥善處理用戶輸入, 很容易造成安全問(wèn)題
好吧, 這個(gè)貌似就是直接執(zhí)行shell的反引號(hào), 但是 workerman可能會(huì)跑在root上,而常規(guī)的web服務(wù)可能會(huì)跑在www用戶是,大家多注意一下
這個(gè)不是安全問(wèn)題吧。
$a = `cal`;
相當(dāng)于
$a = exec('cal');
這個(gè)是php的反引號(hào)用法,相當(dāng)于執(zhí)行l(wèi)inux命令 cal
,和echo $a;
輸出不輸出沒(méi)關(guān)系。
即使用戶發(fā)送了字符串 "`cal`",你打印在屏幕上它也不會(huì)執(zhí)行,它不是靠輸出執(zhí)行的,是你業(yè)務(wù)代碼執(zhí)行的。