我的workerman想加入IP白名單功能。請(qǐng)問(wèn)是要自己在
$worker->onConnect = function ($connection) {
print_r("new ip: " . $connection->getRemoteIp());
};
這里補(bǔ)充業(yè)務(wù)邏輯?
還是workerman本身就提供了設(shè)置?
workerman 沒(méi)有白名單設(shè)置,反正我從文檔上沒(méi)看到,這個(gè)應(yīng)該屬于業(yè)務(wù)邏輯。
@https://wenda.workerman.net/people/qq5738912
?
首先你這個(gè)是業(yè)務(wù)邏輯,需要你自己去處理
?
如果單純做IP白名單,可以參考手冊(cè)中onConnect
?
注意:onConnect事件僅僅代表客戶(hù)端與Workerman完成了TCP三次握手,這時(shí)客戶(hù)端還沒(méi)有發(fā)來(lái)任何數(shù)據(jù),此時(shí)除了通過(guò)$connection->getRemoteIp()獲得對(duì)方ip,沒(méi)有其他可以鑒別客戶(hù)端的數(shù)據(jù)或者信息,所以在onConnect事件里無(wú)法確認(rèn)對(duì)方是誰(shuí)。要想知道對(duì)方是誰(shuí),需要客戶(hù)端發(fā)送鑒權(quán)數(shù)據(jù),例如某個(gè)token或者用戶(hù)名密碼之類(lèi),在http://doc.workerman.net/worker/on-message.html里做鑒權(quán)。
由于udp是無(wú)連接的,所以當(dāng)使用udp時(shí)不會(huì)觸發(fā)onConnect回調(diào),也不會(huì)觸發(fā)onClose回調(diào)。
如果還做其他白名單,你需要在onMessage進(jìn)行處理。