我正在编写一个网站,其中服务器位于使用libwebsockets运行C程序的pi上。我想知道是否可以确定主机是本地的(从LAN连接)还是远程的(从WAN)。我想限制网页如果来自远程来源可以做什么。
答案 0 :(得分: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);