【问题标题】:How to pass GET Parameters in encrypt format in URL using Laravel form with GET Method?如何使用带有 GET 方法的 Laravel 表单在 URL 中以加密格式传递 GET 参数?
【发布时间】:2017-05-12 09:44:42
【问题描述】:

我想在表单提交时加密参数。我正在使用 laravel 5.2 版本,当提交表单时,我使用 get method 提交表单。但是当提交表单时,会在 URL 中显示所有参数。所以我必须加密所有这些参数。例如

http://localhost:8000/get/experiences?category_id=18

http://localhost:8000/get/experiences/AQBBShSqt4zxsClTymwBhjIUP1kG7HEoqhoKMfAAlsMk2ZUOxStqGLAFFg0mM1nRKMEVVbB97xCvfRJTP0ZH3k1Am

我该怎么做?

【问题讨论】:

标签: php laravel encryption laravel-5 laravel-5.2


【解决方案1】:

你需要定义路由:

Route::post('/get/experiences/{category_id}', 'Controller@method');

之后就可以制作表格了:

<form action="{{ url('/get/experiences/'.encrypt($category_id)) }}" method="post">
<!-- all your form data -->
<input type="submit" value="Post">
</form>

这将向路由 /get/experiences/{category_id} 发送一个 POST 请求,并将使用 encrypt 方法 encrypt 您的 $category_id

希望这行得通!

【讨论】:

  • 我有十多个参数怎么添加?
  • 我建议发布所有这些参数而不是网址。 @dhanashri
【解决方案2】:

使用encrypt()全局助手加密数据,然后使用decrypt()解密。

https://laravel.com/docs/5.3/encryption

【讨论】:

    【解决方案3】:

    您可以使用 post 方法。将Route::post('/get/experiences/{category_id}', 'Controller@method'); 添加到您的路线,不要忘记在您的表单标签中添加{!! csrf_field() !!} 代码。

    参数不会显示在 URL 中,因此您不必进行加密。当然,如果你不想使用get方法特别是加密。

    【讨论】:

      猜你喜欢
      • 2015-02-02
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2018-09-29
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多