比如官網(wǎng)的http://chat.workerman.net/,
如果你的名字選擇為 \h\,即帶有特殊字符 \ " 等,會(huì)導(dǎo)致后臺(tái)進(jìn)程報(bào)錯(cuò)并重啟,是否存在攻擊風(fēng)險(xiǎn),使得進(jìn)程反復(fù)重啟,并且進(jìn)程中的變量數(shù)據(jù)將會(huì)丟失
補(bǔ)充下,僅供官方參考
如果傳輸?shù)氖莋zip壓縮,又需要根據(jù)用戶(hù)發(fā)來(lái)的消息選擇路由,則router函數(shù)中,如果根據(jù)buffer解壓縮失敗,或者處理失敗,希望終止請(qǐng)求,而不是繼續(xù)返回一個(gè)worker,則我選擇了return false。但是router又必須要返回一個(gè)worker
也就是此處$worker_connection->send($gateway_data),如果$worker_connection是路由router返回的bool false值,則這里會(huì)導(dǎo)致報(bào)錯(cuò)。
從而導(dǎo)致后續(xù)進(jìn)程的重啟。
對(duì)于這種需求,請(qǐng)問(wèn)是否有更好的方法來(lái)處理用戶(hù)發(fā)來(lái)的數(shù)據(jù)而選擇不同的路由,并且對(duì)于非法的用戶(hù)數(shù)據(jù),因?yàn)椴荒苤付ǖ綐I(yè)務(wù)邏輯相關(guān)的路由,就需要終止掉該請(qǐng)求,而不導(dǎo)致進(jìn)程重啟,謝謝
官網(wǎng)的這個(gè)更多其實(shí)還只是個(gè)DEMO展示,不過(guò)不管怎樣,你說(shuō)的這個(gè)情況都屬于業(yè)務(wù)范疇,和workerman框架無(wú)關(guān),也就意味著服務(wù)端在接收數(shù)據(jù)的時(shí)候必須添加業(yè)務(wù)數(shù)據(jù)校驗(yàn)層,永遠(yuǎn)都不要相信用戶(hù)端輸入的數(shù)據(jù),永遠(yuǎn)都要校驗(yàn)它們的合法性。