【问题标题】:Hide required parameters of routes in Laravel 5.0在 Laravel 5.0 中隐藏路由的必需参数
【发布时间】:2015-11-11 15:09:18
【问题描述】:

如何在 laravel 5 中隐藏 get 路由的参数?

我的意思是,路由可以有必需参数,也可以有可选参数,我想知道如何隐藏这些参数。

这是Route parameters 的 Laravel 文档

您可以在路由中捕获请求 URI 的片段:

Route::get('user/{id}', function($id)
{
    return 'User '.$id;
});

如果我的域是:example.com,当我访问 example.com/user/201348 时,我希望在浏览器中的 URL 是:example.com/user 例如。

【问题讨论】:

  • 那行不通。你认为这无论如何都会起作用?如果这是可能的,那将是一个巨大的安全风险。假设您正在访问某个恶意网站,但您的浏览器显示stackoverflow.com
  • 那你有什么推荐的?我需要从 url 中隐藏 GET 参数...我应该改为散列参数吗?
  • 我不确定我是否理解正确,请在问题中添加一个来自您的应用程序的真实示例。
  • 其实这是真实的场景,是这样的要求
  • 问题是打算解决什么要求?

标签: php .htaccess laravel laravel-5 laravel-routing


【解决方案1】:

你需要的不是获取路径,而是发布路径。

Route::get('user/', function(Request $request)
{
    return 'User '.$request->get('id');
});

但请记住: 您需要创建一个表单来生成一个发布请求。

{{ Form::open(array('url' => 'user')) }}
    {{ Form::hidden('id', $userId); }}
    {{ Form::submit('Show user with id '.$userId); }}
{{ Form::close() }}

【讨论】:

    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 2018-05-24
    • 2019-05-09
    • 2022-01-05
    • 1970-01-01
    • 2011-06-07
    • 2014-06-30
    • 2015-12-17
    相关资源
    最近更新 更多