热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在URLLaravel中加密ID

我想对我的id进行加密,以显示我的控制器代码和路由(我已经在控制器中使用了Crypt::encr

我想对我的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');

这是我的刀刃


{{ csrf_field() }}
@method('POST')
@include ('tender.form',['formMode' => 'edit'])


使用laravel内置加密来实现此目的:

在前端添加路由时,请使用以下加密助手对ID进行加密:

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

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

public function update($id,Request $request){
$ID = decrypt($id);
$tender = TenderMaster::findOrFail($ID);
..
...
}

希望您能理解

这是文档:

https://laravel.com/docs/6.x/helpers#method-encrypt

https://laravel.com/docs/6.x/helpers#method-decrypt

,

将其放在您的表单操作标签中


{{ csrf_field() }}
@method('POST')
@include ('tender.form',['formMode' => 'edit'])

并替换控制器的这一行:

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

与此:

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

别忘了在控制器中添加此行

use Illuminate\Support\Facades\Crypt;

希望它能工作

,

有加密和解密功能

但是,我想不同意加密用户ID的想法,这远非最佳实践

我建议您使用政策policy guide


推荐阅读
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 在AngularJS中,有时需要在表单内包含某些控件,但又不希望这些控件导致表单变为脏状态。例如,当用户对表单进行修改后,表单的$dirty属性将变为true,触发保存对话框。然而,对于一些导航或辅助功能控件,我们可能并不希望它们触发这种行为。 ... [详细]
  • Kubernetes Services详解
    本文深入探讨了Kubernetes中的服务(Services)概念,解释了如何通过Services实现Pods之间的稳定通信,以及如何管理没有选择器的服务。 ... [详细]
  • 微信小程序支付官方参数小程序中代码后端发起支付代码支付回调官方参数文档地址:https:developers.weixin.qq.comminiprogramdeva ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 择要:Fundebug的JavaScript毛病监控插件同步支撑Vue.js异步毛病监控。Vue.js从降生至今已5年,尤大在本年2月份宣布了严重更新,即Vue2.6。更新包含新增 ... [详细]
  • 本文介绍了在解决Hive表中复杂数据结构平铺化问题后,如何通过创建视图来准确计算广告日志的曝光PV,特别是针对用户对应多个标签的情况。同时,详细探讨了UDF的使用方法及其在实际项目中的应用。 ... [详细]
  • 本文探讨了如何在Sitecore 9环境中通过Postman使用API密钥发送请求,包括解决常见错误的方法。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • Excel技巧:单元格中显示公式而非结果的解决方法
    本文探讨了在Excel中如何通过简单的方法解决单元格显示公式而非计算结果的问题,包括使用快捷键和调整单元格格式两种方法。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
author-avatar
尊园2010_630
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有