php - 在 Symfony 中限制外部请求的路由
问题描述
我正在学习 Symfony,我正在构建一个基于 Youtube API 和 Google OAuth 2.0 的应用程序。
我正在使用注释路由来制作简单的用户界面和日志记录系统。这是我所有的路线:
- /
- /auth(重定向到 Google 身份验证服务器)
- /auth/response(获取 Google 验证码)
- /user(用户设置,通过 Doctrine ORM 存储)
- /update (ajax 调用 url 来更新用户设置)
- /insert(发出一些 Youtube API 请求,将在 Cron 任务中使用)
所以我的问题是我不希望用户访问某些路由,因为他们不应该知道这些路由存在,尤其是对于“/insert”路径。
我已经为 /update 路径设置了条件,如下所示:
/**
* @Route("/update", name="update", condition="request.isXmlHttpRequest()")
*/
用户收到 404 错误,这很完美。
现在,我怎样才能为其他有问题的路线做类似的事情?或者也许我绝对做错了,请告诉我!
解决方案
如果您想应用一些限制策略,您需要使用安全配置(在您的情况下为防火墙部分)此处的文档:https ://symfony.com/doc/current/reference/configuration/security.html
404 是错误的答案,401 是正确的。
推荐阅读
- python - 我可以在 soup.find_all() 函数中搜索多个 HTML 元素吗?
- java - 从具有孤立父 ID 的表中删除嵌套行
- python - 如何获取与放置在 QTableWIdget 中的 QCheckbox 关联的 QModelIndex
- module - 无法运行模块
- php - 即使请求成功,PHP curl_errno 也会返回 7
- r - 具有特定输入格式的染色体上的热图
- amazon-web-services - AWS Chime - 将视频分配给磁贴无法按预期工作
- python - 有没有办法在 Flask 中为特定用户缓存数据库条目
- javascript - 如何使用 Google 应用脚本将“Fri Sep 11 2020 02:00:00 GMT-0400 (EDT)”格式化为简单的 mm.dd.yy>
- c# - Linq2db AssociationAttribute 实现返回错误