我想添加对从地址栏直接访问任何 URL 的限制。如果用户在地址栏中输入任何 URL,那么即使 URL 存在,它也应该抛出 404 异常。任何人都可以有想法请提出建议。
提前致谢。
最佳答案
我能想到 3 个解决方案,每个都有自己的缺陷:
客户端路由
https://medium.com/@fro_g/routing-in-javascript-d552ff4d2921
这样,直接页面不必存在于服务器上。 Javascript 将处理历史状态。
查看推荐人 $_SERVER['HTTP_REFERER']
这将显示用户来自的上一页(根据浏览器)。直接访问 url 时,这将是空的。
首页后独家使用POST页面
由于浏览器能够在提交表单等时显示 POST 页面。它只能通过键入 url 来显示 GET 请求。
在所有情况下,用户都可以欺骗服务器,就像他以预期的方式导航到页面一样。这意味着没有 100% 确定的方法来禁用直接访问,因为您不能信任客户端。
关于laravel - 我如何限制对任何路由的直接访问并抛出 404 异常,即使路由存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57692875/