如何使用带有GET方法的Laravel表单在URL中以加密格式传递GET参数?

时间:2016-12-28 06:20:41

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

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

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

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

我该怎么做?

3 个答案:

答案 0 :(得分: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>

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

希望这有效!

答案 1 :(得分:1)

使用7ff74ff1d000-7ff74ff85000 r-xp 00000000 fd:00 202613632 /usr/lib64/libboost_serialization.so.1.53.0 7ff74ff85000-7ff750184000 ---p 00068000 fd:00 202613632 /usr/lib64/libboost_serialization.so.1.53.0 7ff750184000-7ff750188000 r--p 00067000 fd:00 202613632 /usr/lib64/libboost_serialization.so.1.53.0 7ff750188000-7ff750189000 rw-p 0006b000 fd:00 202613632 /usr/lib64/libboost_serialization.so.1.53.0 7ff750189000-7ff7501a9000 r-xp 00000000 fd:00 201328495 /usr/lib64/ld-2.17.so 全局帮助程序加密数据,然后encrypt()解密数据。

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

答案 2 :(得分:0)

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

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