最近用Gateway寫了一個(gè)項(xiàng)目,功能已經(jīng)開發(fā)完成了后期打算上線,但是我這項(xiàng)目容易被攻擊,想請(qǐng)教一下Gateway作為推送端有沒有好的防攻擊措施或者建議啊,相信這個(gè)問題也會(huì)有很多小伙伴會(huì)遇見吧@walkor
代碼層可以做個(gè)消息頻率限制,比如:
/**
* 限制消息發(fā)送頻率.
*
* @param $clientId
*
* @return boolean.
*/
private static function _limitClientSendMessageRate($clientId)
{
$curMsecTime = Utility::getMsectime();
$_SESSION = empty($_SESSION) ? 0 : $_SESSION;
$_SESSION = empty($_SESSION) ? $curMsecTime : $_SESSION;
if ($curMsecTime - $_SESSION >= 1000) {
$_SESSION = 0;
$_SESSION = $curMsecTime;
} else {
$_SESSION ++;
if ($_SESSION > 3) {
//Gateway::sendToClient($clientId, 'The server is busy. Please try again later!');
Gateway::closeClient($clientId,'The server is busy. Please try again later!');
return false;
}
}
return true;
}