簡體   English   中英

如何檢查IP地址是否與C中的localhost相對應

[英]How to check if an IP address corresponds to localhost in C

在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地址。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM