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


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

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

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

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

谢谢!

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

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

点赞