tcp和websocket是否会伪造IP?

zzccomet

我们知道通过HTTP是可以添加串改IP的,那么PHP获取IP的时候,有可能就是假IP。那么workerman的TCP和websocket配合是否会被伪造IP呢?

还是说通过TCP连接,就压根不需要考虑会被伪造的可能?

3066 1 0
1个回答

walkor

TCP层面可以认为无法伪造IP。但有些通讯协议里可以携带ip数据,因为协议数据可以在应用层串改,所以如果应用使用协议层的ip有可能伪造。比如HTTP请求里HTTP头部可以传递自定义数据,比如x-real-ip: xx.xx.xx.xx,如果应用采用http头部的x-real-ip作为真实ip,那这个ip可能是伪造的。如果使用socket层面的接口获得的IP则不会伪造。也就是说在php-fpm里,$_SERVER['REMOTE_ADDR ']获得的ip不会被伪造,其它通过HTTP头获取ip比如 $_SERVER['HTTP_X_REAL_IP '] $_SERVER['HTTP_X_FORWARDED_FOR '] $_SERVER['HTTP_CLIENT_IP '] 等可能会被伪造。

在workerman中使用$connection->getRemoteIp();调用的是socket层面的接口,获得的ip不会伪造。

  • 暂无评论
年代过于久远,无法发表回答
🔝