我'试图验证一个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);
}
您可以使用url
的laravel
验证
你已经可以与现有的验证和regex实现它:
'url' => 'regex:/^http:\/\/\w+(\.\w+)*(:[0-9]+)?\/?$/',
我没有测试这一点,但它是创意与现有的验证规则。
您可以使用
'url' => ['regex' => '/^((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)$/'],
我希望这将是有益的