2012-05-09 52 views
1

對於有提示配置IP /網絡掩碼的產品系統,用戶輸入時應該接受0.0.0.0等,並立即拋出錯誤?或者系統應該等到提交輸入並從底層網絡適配器返回錯誤?是否應該接受0.0.0.0作爲IP /網絡掩碼的答案?

提示是這樣的:

Please enter the IP:

Please enter the netmask:

(當用戶按下回車鍵,都上犯下錯的回報,如果有的話)

立即拒絕的理由是0.0.0.0和無效值一樣明顯。系統應該足夠聰明以檢測並防止它進入。

在提交期間後來拒絕的參數是可以有各種無效輸入,並且IP類型系統很難被捕獲。 1.1.1.1,1.11.111.111也是無效的。 (理論上是的,但實際上不是..)

+1

我不確定我是否理解你的最後一段。檢測無效的網絡掩碼非常簡單(邏輯上,只需轉換爲二進制,並確保連續的msb對齊1)。順便說一句,你確定0.0.0.0是一個無效的網絡掩碼? –

+0

@奧利查爾斯沃斯,你說的是關於網絡掩碼,我會同意。但是IP地址怎麼樣? – Figo

+0

你如何定義無效的IP? –

回答

1

大多數系統通過列出'火星人'地址範圍並使該列表中的東西無效來處理這個問題。無論這是UI還是後端驗證的一部分,都高度依賴於您的系統。如果這是一個網絡系統,人們通過頻繁輸入地址和前綴,最好將其作爲前臺功能。

順便說一句,現代系統現在可以輸入有效位的數量,而不是輸入網絡掩碼,使用CIDR的'/'符號表示有效位的數量。