vue.js 短连接 动态连接

有这么一种场景,我们实现了某个业务,现在需要将这个业务连接对外推广以期实现我们的运营、推广、佣金目的,那么我们如何实现呢?

比如这个页面连接为:

https://mp.domain.com/user/creation/editor?spm=1&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx

1、将这个长长的连接发给别人,别人进行点击打开。遇到小白还是规矩,在页面中正常操作。遇到那些比较二的人,直接给你修改连接上的参数 ,你怎么办?

2、我们将如上的长连接转变为短连接,参数不进行暴露,反而将参数以某个固定的key保存到我们服务器,用户打开时,以此KEY去取参数再在页面中使用,便可避免原连接不安全的问题。

动动脑,是不是第一个方案存在的各种问题可想而知。URL过长,牛马蛇神全部清清楚楚的暴露了。而第二个方案如何实现呢?我们试着继续向下思考:那我将连接变为:

https://mp.domain.com/s/3xRghijm09R

 这个是不是就好太多了!可是这样的连接如何与页面路由呢?你的路由表中如何定义这个连接并成功识别呢?好了,打开你的项目配置路由的地方:

1、将path和name均配置为相同的能用匹配符表达式:'/s/:key'

2、打开我们的目标页面完善代码

 这一步的目的是取出我们动态KEY来还原原始的页面连接需要的参数。

3、生成短连接:http://localhost:8013/s/3xRghijm09R

我们再次复盘一下我们的疑惑,这个3xRghijm09R是怎么来的?是的,他肯定不是飞来的,也不是风刮来的,而你是你自己生成的!

让我们再次提出问题:怎么生成呢?

我们原始连接的参数为:

spm=1&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx

那我们只需要新动态连接后的3xRghijm09Rspm=1&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx
建立对应关系即可!

则在生成3xRghijm09R的时候,以3xRghijm09R为键,将spm=1&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx
保存起来,在页面中捕获连接是否短连接,如果是短连接则通过3xRghijm09R取出原始值即可!不同参数值最终生成的不同的KEY,不同的KEY对应自己特定的参数表,则逻辑达成!

来看看数据库表:

keyparamsText
3xRghijm09Rspm=1&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx
3434opihjklkhspm=2&userno=xxx
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx
gr9087klhkyrtgspm=4&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx
yetwpjl79087rtspm=6&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx
ppopi7889knkspm=8&userno=12324
&signature=aerqwerxxxx&token=xxxxxx&platform=ios&lat=xxx&longi=xxxx

至此,你看明白了吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/149605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“一键搜索,海量商品任你选!多平台聚合,购物更便捷!“

对于多平台聚合搜索,根据关键词取商品列表,您需要使用第三方服务或软件来实现。以下是一些可能的选择: 使用第三方聚合搜索工具:有些第三方工具可以聚合多个电商平台的商品数据,并提供统一的搜索接口。您可以使用这些…

基于数据库(MySQL)与缓存(Redis)实现分布式锁

分布式锁 分布式锁:分布式锁是在分布式的情况下实现互斥类型的一种锁 实现分布式锁需要满足的五个条件 可见性:多个进程都能看到结果互斥性:只允许一个持有锁的对象的进入临界资源可用性:无论何时都要保证锁服务的可用性&#x…

T10 数据增强

文章目录 一、准备环境和数据1.环境2. 数据 二、数据增强(增加数据集中样本的多样性)三、将增强后的数据添加到模型中四、开始训练五、自定义增强函数六、一些增强函数 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&#x1f…

docker数据卷详细讲解及数据卷常用命令

docker数据卷详细讲解及数据卷常用命令 Docker 数据卷是一种将宿主机的目录或文件直接映射到容器中的特殊目录,用于实现数据的持久化和共享。Docker 数据卷有以下特点: 数据卷可以在一个或多个容器之间共享和重用,不受容器的生命周期影响。…

充电桩负载测试需要检测哪些项目

充电桩负载测试在进行充电桩负载测试时,需要检测以下几个项目: 充电速度:测试充电桩的充电速度,包括直流充电桩的最大输出功率和交流充电桩的充电功率,以确定其是否符合标准要求。充电效率:测试充电桩的充电…

特征缩放和转换以及自定义Transformers(Machine Learning 研习之九)

特征缩放和转换 您需要应用于数据的最重要的转换之一是功能扩展。除了少数例外,机器学习算法在输入数值属性具有非常不同的尺度时表现不佳。住房数据就是这种情况:房间总数约为6至39320间,而收入中位数仅为0至15间。如果没有任何缩放,大多数…

初识分布式键值对存储etcd

欢迎大家到我的博客浏览。胤凯 (oyto.github.io)大家好,今天我带大家来学习一下 etcd。 一、什么是 etcd etcd 是一个开源的分布式键值存储系统,主要用于构建分布式系统中那点服务发现、配置管理、分布式锁等场景。它采用 Raft 一致性算法来确保所有节…

JavaScript 字符处理

1.删除前几个字符 使用 slice console.log(12345.slice(1))// 23452.首字母大写 var word abcconsole.log(word.charAt(0).toUpperCase() word.slice(1))// Abc3.字符为数字时可直接相乘 console.log(2*3) 4.字符串中是否包含某个子字符串 子串既可以为数字也可为字符串 /…

Pyside6/PyQt6如何添加右键菜单,源码示例

文章目录 📖 介绍 📖🏡 环境 🏡📒 源码分享 📒🎈 添加图标📖 介绍 📖 在UI开发中经常会使用到右键菜单,本文记录了一个添加右键菜单的示例,可以举一反三,仅供参考! 🏡 环境 🏡 本文演示环境如下 Windows11Python3.11.5PySide6📒 源码分享 📒 下面…

左支座零件的机械加工工艺规程及工艺装备设计【计算机辅助设计与制造CAD】

wx供重浩:创享日记 对话框发送:左支座 获取完整CAD工程源文件论文报告说明书等 一、论文目录 二、论文部分内容 设计任务 1.完成左支座零件—毛坯合图及左支座零件图 2.完成左支座零件工艺规程设计 3.完成左支座零件加工工艺卡 4.机床专用夹具装备总图 …

ACWSpring1.3

git使用git status看我们仓库有多少什么东西 首先,前端写ajax写上我们的访问路径(就在我们前端的源代码里面),我们建了两个包pkController用于前端页面url映射过来一层一层找到我们的RestController返回bot1里面有键值,返回的这就是一个session对象bot1这个map.前端拿到我们bot…

汇编-在VisualStudio调试器中显示数组

1.调试运行程序 2.菜单-->调试--> 3.在地址栏上输入 &数组名 4.其它选项 右击窗口 根据实际情况自己选择

51.Sentinel微服务保护

目录 (1)初识Sentinel。 (1.1)雪崩问题及解决方案。 (1.1.1)雪崩问题。 (1.1.2)解决雪崩问题的四种方式。 (1.1.3)总结。 (1.2)…

在Ubuntu系统中安装VNC并结合内网穿透实现公网远程访问

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

CleanMyMac X2024免费测试版好不好用?值不值得下载

如果你是一位Mac用户,你可能会遇到一些问题,比如Mac运行缓慢、磁盘空间不足、应用程序难以管理等。这些问题会影响你的Mac的性能和体验,让你感到沮丧和无奈。那么,有没有一款软件可以帮助你解决这些问题呢?答案是肯定的…

Fourier分析导论——第6章——R^d 上的Fourier变换(E.M. Stein R. Shakarchi)

第6章 上的 Fourier 变换 It occurred to me that in order to improve treatment planning one had to know the distribution of the at- tenuation coefficient of tissues in the body. This in- formation would be useful for diagnostic purposes and would con…

Mac安装win程序另一个方案

前言 今天跟大家分享的是mac装win程序的另一个思路,不需要大动干戈的装双系统、虚拟机。最后分享感受,先说过程吧。 一、思路介绍 其实,就是利用CrossOver,这个软件的介绍大家可以自行了解。不过不得不说这玩意还是国外的人思路新…

C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录

目录 一、前言 1.Database.ExecuteSqlCommand 方法不被EF7.0支持 2.SET IDENTITY_INSERT Blog {ON,OFF}不起作用 3.主键和标识列分离,成功实现插入与修改 二、新建本文涉及的项目 三、程序设计 1.Form1.cs源码 2.Form1.cs[设计] 四、生成和测试 1.原始表 …

基于GATK流程化进行SNP calling

在进行变异检测时,以群体基因组重测序数据为例,涉及到的个体基本都是上百个,而其中大多数流程均是重复的步骤。 本文将基于GATK进行SNP calling的流程写入循环,便于批量分析。 1 涉及变量 1.工作目录work_dir/ 2.参考基因组ref…