为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 URL laravel 中加密 id

如何在 URL laravel 中加密 id

PHP
阿晨1998 2022-05-27 16:04:44
我想加密 URL 中的 id 我将显示我的控制器代码和路由。我已经Crypt::encrypt($id);在我的控制器中使用过,但它不能正常工作,所以我在我的控制器中评论了该行这是我的控制器public function update(TenderRequest $request,$id){    $tender = TenderMaster::findOrFail($id);    //Crypt::encrypt($id);    if($request->extend_date < $request->end_date || $request->bid_status > 0){                           return 'unsuccess';    } else{         $transaction = DB::transaction(function () use($request,$tender,$id) {            $tender->extend_date = $request->extend_date;            $tender->remarks = $request->remarks;            $tender->update($request->all());        });        return 'BID '.$tender->ref_no.' Succesfully Updated';    }}                          }这是我的路线  Route::post('tender/update/{id}','Tender\TenderMasterController@update')->name('bid.update');这是我的刀片<form action="{{route('bid.update' ,Crypt::encrypt('id'))}}" class="form-horizontal" id="bid-update" method="POST">    {{ csrf_field() }}    @method('POST')    @include ('tender.form', ['formMode' => 'edit'])</form>
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

把它放在你的表单动作标签中


<form action="/tender/update/{{Crypt::encrypt('id')}}" class="form-horizontal" id="bid-update" method="POST">

    {{ csrf_field() }}

    @method('POST')

    @include ('tender.form', ['formMode' => 'edit'])

</form>

并替换控制器的这一行:


$tender = TenderMaster::findOrFail($id);

有了这个:


$tender = TenderMaster::findOrFail(Crypt::decrypt($id));

并且不要忘记在您的控制器中添加上面的这一行


use Illuminate\Support\Facades\Crypt;

希望它会工作


查看完整回答
反对 回复 2022-05-27
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

使用 laravel 内置加密来实现这一点:


在前端添加路由时,使用加密助手加密 id,如下所示:


{{route('bid.update', encrypt($id))}}

现在,在您的控制器中,解密您传递的 id。


public function update($id, Request $request){


    $ID = decrypt($id);

    $tender = TenderMaster::findOrFail($ID);


    ..

    ...

}

我希望你明白。


查看完整回答
反对 回复 2022-05-27
  • 2 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号