0

我正在编写一个网站,其中服务器位于使用 libwebsockets 运行 C 程序的 pi 上。我想知道是否可以确定主机是本地(从 LAN 连接)还是远程(从 WAN)。如果网页来自远程来源,我想限制它可以做什么。

4

1 回答 1

0

您可以使用lws_get_peer_simple函数获取 IP 地址:

char name[16];
lws_get_peer_simple(wsi,name,16);

从那里,应该很容易确定 IP 地址是否在本地子网中。一种方法是通过简单的字符串比较:

if(strstr(name,"10.")==name)return(LOCAL_NET);
if(strstr(name,"192.168."==name))return(LOCAL_NET);
return(PUBLIC_NET);
于 2019-01-07T11:20:54.900 回答