Various socket-related PHP functions
function get_remote_IP ($socket) {
$status = socket_getpeerinfo($socket, $result);
if (!$status) return false;
return $result;
}
function socket_accept_nbl ($listener, $blacklist) {
$newsocket = socket_accept($listener);
if ($newsocket === false) return false;
$ip = get_remote_IP($newsocket);
if (array_search($ip, $blacklist) !== false) {
socket_close($newsocket);
return false;
}
return $newsocket;
}
Comments