php - 使用验证器验证 Laravel URL
问题描述
我正在尝试验证 URL 以确保它不包含 localhost。我已经使用 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' => 'regex:/^http:\/\/\w+(\.\w+)*(:[0-9]+)?\/?$/',
我没有对此进行测试,但它对现有的验证规则很有创意。
推荐阅读
- sql-server - Prometheus - 数据库访问
- bash - 用于汇总与名称关联的列的 Shell 脚本
- mysql - 更新整个 MySQL 数据库中的所有日期时间列值
- c - 在 if 条件内打印 char 的问题
- python - 等效于“kubectl wait --for”命令的 Kubernetes python 客户端
- android - 在 Android 上使用 requestNetwork 后如何恢复 Wi-Fi 连接
- python - 导入 csv 文件时列表索引超出范围
- linux - 为什么我的 Postgres 数据库工作了一段时间,然后重新启动后无法“启动服务器”?
- javascript - Google Apps 脚本 - 根据多个条件返回数据结果
- python - 时钟上的绘图线