如何检查IP地址是否与C中的localhost相对应

时间:2013-11-20 23:04:37

标签: c network-programming

在Linux上的C中,是否有一种规范方法来检查IP地址是否与localhost相对应?

也就是说,我正在寻找一个函数is_localhost,这样如果我的计算机的外部IP为“1.2.3.4”,那么在任何“localhost”上调用is_localhost,“127.0 .0.1“或”1.2.3.4“应返回true,任何其他IP将返回false。

另一方面,欺骗这些信息有多难 - 以这种方式检查主机是否为localhost可以保证请求实际来自这台计算机?

对于上下文,我正在为服务器编写管理接口。我想制作只读管理位,比如查看网络上可用的连接列表,但是对于任何危险的操作,比如手动查杀连接,你应该通过在服务器上运行脚本来实现。

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为您可能尝试以错误的方式解决问题 - 如果您想通过检查是否是本地主机来限制对远程可访问应用程序的访问,那么检查IP地址将是一个非常糟糕的方法做到这一点。 PC可以拥有任意数量的易于配置的网络接口,其中包含您自己选择的IP地址。因此,解决这个问题会很容易。

您可能需要考虑添加一些基本身份验证,或者只是不允许远程运行某些功能。有很多方法可以实现这一点,但我认为问题的范围在此结束 - 不要依赖于检查IP地址。 :)