使用验证Laravel URL验证

问题描述 投票:0回答:3

我'试图验证一个URL,以确保它不包含本地主机。我一直在使用的if-else完成它,并希望使用自定义的验证器来做到这一点。我失去了它如何可以通过验证来完成。

if((strpos($request->input('url'), 'localhost') !== false) || 
    (strpos($request->input('url'), 'http://localhost') !== false) ||  
    (strpos($request->input('url'), 'https://localhost') !== false) ||  
    (strpos($request->input('url'), '127.0.0.1') !== false) ||
    (strpos($request->input('url'), 'http://127.0.0.1') !== false) ||
    (strpos($request->input('url'), 'http://127.0.0.1') !== false))
{
    return response()->json([
        'error_description' => 'Localhost in not allowed in URL'
    ], 403);
}
php laravel-5 laravel-5.2
3个回答
0
投票

您可以使用urllaravel验证

https://laravel.com/docs/5.2/validation#rule-url


0
投票

你已经可以与现有的验证和regex实现它:

'url' => 'regex:/^http:\/\/\w+(\.\w+)*(:[0-9]+)?\/?$/',

我没有测试这一点,但它是创意与现有的验证规则。


0
投票

您可以使用

'url'   => ['regex' => '/^((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)$/'],

我希望这将是有益的

© www.soinside.com 2019 - 2024. All rights reserved.