我使用Laravel 5爲我的項目,我需要使用我自己的驗證。我有IP範圍表。 (start_ip,end_ip)。我需要檢查我的IP範圍是否可用。我如何驗證IP範圍laravel 5?Laravel 5 IP範圍驗證
0
A
回答
-1
與ip_range
規則擴展驗證:
Validator::extend('ip_range', function($attribute, $value, $parameters) {
$ip = ip2long($value);
$start_ip = ip2long($parameters[0]);
$end_ip = ip2long($parameters[1]);
if (!$ip || !$start_ip || !$end_ip) {
return false;
}
return ($ip >= $start_ip && $ip <= $end_ip);
});
不要忘了ip_range
值增加lang/en/validation.php
有人類可讀的錯誤消息。
1
如果您的IP範圍表只是用來檢查一個給定的IP屬於網絡,這裏是使用IPset包(compser require wikimedia/ip-set
)一個簡單的方法:
Validator::extend('ip_range',function ($attribute, $value, $parameters){
$ipset = new IPSet(array('192.168.1.0/24');
return ($ipset->match($value));
我假設這裏你只有一個網絡(例如192.168.1.0/24
),如果你有更多,你可以在陣列中儘可能多地放置。一個清潔的方法是編輯您的表格,並與CIDR註釋更換您的IPS和更新代碼:
$ipset = new IPSet(DB::table('your_table')->lists('your_cidr_column'));
當然,不要忘了
use DB;
use IPset\Ipset;
相關問題
- 1. Laravel 5:[驗證]
- 2. 使用bash驗證IP範圍
- 3. 驗證範圍
- 4. Laravel 5個驗證
- 5. required_if Laravel 5驗證
- 6. laravel 5 ajax驗證
- 7. 使用現有IP地址範圍驗證IP地址
- 8. Asp.net範圍驗證
- 9. Laravel 5 DATE_FORMAT驗證不驗證
- 10. 範圍驗證範圍之內
- 11. Laravel 5驗證規則required_with:password_confirmation
- 12. Laravel 5 REST API驗證
- 13. Laravel 5自定義驗證
- 14. AngularJS + Laravel 5身份驗證
- 15. 驗證的Fileds [Laravel 5]
- 16. Laravel 5驗證錯誤
- 17. Laravel 5 API請求驗證
- 18. Laravel 5驗證控制器
- 19. 驗證圖片laravel 5
- 20. Laravel 5更新驗證
- 21. Python IP範圍到IP範圍匹配
- 22. 在Laravel 5控制器中的IP地址驗證
- 23. Bootstrap驗證器驗證號碼範圍
- 24. 範圍驗證屬性沒有驗證
- 25. (取5(範圍))和(範圍5)
- 26. C++驗證字符範圍
- 27. Rails動態範圍驗證
- 28. 範圍驗證在asp.net
- 29. 驗證HTML5輸入範圍
- 30. 範圍Rails中驗證
如果你滿意我的回答下面,你可以接受它:) – 2015-04-06 07:42:03