我创建了一个带有“/ new”路由表单的symfony2网页。用户将输入发布到控制器,控制器呈现“/ create”,如果成功,最终路由“/ thankyou”被调用并出现一个感谢页面。禁用直接访问symfony2中的路由
我想禁用直接访问/谢谢你的路线,只有通过成功/创建POST才能访问。这适用于/创建(为什么?),但不适用于/ thankyou。
我创建了一个带有“/ new”路由表单的symfony2网页。用户将输入发布到控制器,控制器呈现“/ create”,如果成功,最终路由“/ thankyou”被调用并出现一个感谢页面。禁用直接访问symfony2中的路由
我想禁用直接访问/谢谢你的路线,只有通过成功/创建POST才能访问。这适用于/创建(为什么?),但不适用于/ thankyou。
你可以在你的“/三江源”行动基于引用者的信息添加一些条件:
$request->headers->get('referer');
或者作为@Florian说,你可以在URL中使用一些额外的参数。
向路由添加requirements: _method: POST
将至少限制对POST操作的访问。
但我不确定如何才能实现只接受来自特定站点的POST。也许使用一个特殊的令牌作为你在控制器中检查的参数传递的参数可能会起作用。
谢谢,但它不工作(需求部分):) – Radolino
显示您的路线,控制器,以及任何其他可能涉及的一些代码。我们无法修复我们看不到的东西。 –