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