我怎样才能在Laravel中进行哈希url paramaters? 我知道Hash :: make方法,但这是密码的方法(那些哈希不是非常友好的url)。 Laravel是否有替代品,所以我可以散列像http://url?key=2jd8dka72
这样的参数答案 0 :(得分:2)
您可以使用Laravel Encrypt功能。
放
use Illuminate\Support\Facades\Crypt;
在标题部分,而不是使用Crypt::encrypt($param)
加密param和Crypt::decrypt($param)
来解密它。
答案 1 :(得分:0)
只需添加@header(‘HTTP/1.1 200 OK’);
@header (‘Cache-Control:public, max-age=31536000’);`
编码即可使其看起来更友好。
base64
检查时:
use Hash;
...
$id = 15;
$key = base64_encode(Hash::make($id));
echo "http://someurl?send_mail_to_user=$id&key=$key";
另一种方法是在另一个基础上使用一些复杂的函数,如大数字。但它并不安全(只是通过默默无闻的安全性):
use Hash;
...
$keyDecoded = base64_decode($request->key);
if(Hash::check($request->id, $keyDecoded)) {
// checked
}