当前位置: 首页 > news >正文

网站开发流程管理上海羽贝网站建设

网站开发流程管理,上海羽贝网站建设,百度指数爬虫,搜狗seo快速排名公司有的时候链接信息中存在敏感信息或者不想让用户手动修改链接从而改变内容#xff0c;这时候就需要进行链接加密处理#xff0c;虽然这种方式只能简单的预防#xff0c;不过还是能起到一定作用的#xff0c;这里根据我的思路进行总结处理方式 首先网站页面url都有对应的不同… 有的时候链接信息中存在敏感信息或者不想让用户手动修改链接从而改变内容这时候就需要进行链接加密处理虽然这种方式只能简单的预防不过还是能起到一定作用的这里根据我的思路进行总结处理方式 首先网站页面url都有对应的不同路径组成这个地方不用修改(当然也可以自己扩展)后边可能会拼接一些参数对这串参数进行处理 思路就是在页面跳转前进行拦截修改参数部分及在改变页面某些状态需要改变url内容时进行修改参数部分 那么页面在重新载入或者进入时首先需要进行对页面的加密参数解密到对应字段上进行后边的参数处理下边是url加密和解密方法 /*** url参数加密* 传入json格式的串* param {*Object} query*/ const EncryUrl query {if (!utils.isObject(query)) {return ;}try {query JSON.stringify(query);query window.encodeURIComponent(query);return window.btoa(query); // 编码} catch (err) {console.log(%c url-encry-error JSON.stringify(err), color:red;);}return ; }/*** url参数解密* 传入加密的json串* param {*string} val*/ const DecryptUrl val {if (!utils.isString(val)) {return false;}try {let decryStr window.atob(val); // 解码return window.decodeURIComponent(decryStr);} catch (err) {console.log(%c url-decry-error JSON.stringify(err.stack), color:red;);}return false; }以上加密方法EncryUrl首先判断传入的数据是否是Object的然后把json转成字符串使用encodeURIComponent进行URI编码(encodeURIComponent方法执行让浏览器能够接受和理解若中文在使用后边的window.btoa会报错)然后使用window.btoa再次转换输出解密DecryptUrl以同样的方式反过来执行进行解密至于为什么后边没有使用JSON.parse看后边的 /*** 从地址栏获取指定参数值* param {*string} param*/ const GetQueryParam (param) {let h window.location.href;let reg new RegExp([\?\]? param ([,-\w])[\]?, i);if (reg.test(h)) {let v reg.exec(h)[1];return v;}return ; };/*** 返回 地址栏 加密 Object* param {*string} param*/ const GetQueryParamOfObjEntry () {let keyStr GetQueryParam(key);if (!keyStr) {return ;}try {let objStr DecryptUrl(keyStr);let obj JSON.parse(objStr);return obj;} catch (err) {console.log(%c url-json-parse-error JSON.stringify(err.stack), color:red;);}return ; } 上边的两个方法GetQueryParam是封装了获取指定链接参数的代码块GetQueryParamOfObjEntry是获取以key这个指定参数后方的解密数据这里可以看到有JSON.parse这个方法因为我这里约定了链接后方参数是以key为key的一个参数当然可以换成其他的参数;然后注意在router里边需要处理对应的改变 // url参数加密 function encryUrlOfRouter(to, from, next) {// 这里对路由参数key进行加密if (Object.keys(to.query).length 0 !to.query.key) {let urlEntry EncryUrl(to.query);if (urlEntry) {next({path: to.path,query: {key: urlEntry}})return false;}next({path: to.path})return false;}return true; } 以上代码块encryUrlOfRouter这个方法放在router.beforeEach里边执行首先判断当前链接是否有参数若有且如果不存在key那么就使用EncryUrl进行处理query加密然后修改当前链接参数这时router会再次执行一次 那么在页面中使用时首先是初次渲染拿出数据了在created中执行时可以使用GetQueryParamOfObjEntry来获取数据然后对应参数赋值 其次是在一些改变url参数的操作(场景比如分页触发分页后把这个链接复制到其他的窗口中既要让参数加密又必须让这个链接打开窗口的分页的状态和被复制页面的分页一样)这个时候在每次触发改变链接的时候执行这个方法就没问题了当然这时候并没有改变页面位置也不会刷新页面只是走了一遍路由下方代码就是对应改变的方法了 searchCondition就是我存放需要改变url参数的对象 editUrlQuery() {this.$router.push({ name: this.$route.name, query: this.searchCondition });} 最后总结一下如果是对安全性要求比较高在执行加密时可以换其他的方式来加密我这里只是简单的加密了一下让别人篡改参数不是那么很轻松 也直接看出url里边带的参数是什么如果在控制台中进行解密测试你需要执行window.decodeURIComponent这个方法两次why不解释哈哈实践一下就知道了如果别人修改了key后边的参数那么解析会出错或者解析不完全至于修改随他改吧看你的加密方式了转载于:https://www.cnblogs.com/sixthrhapsody/p/11377932.html
http://www.sadfv.cn/news/241301/

相关文章:

  • 江山市住房和城乡建设局网站wordpress繁简体
  • 东风地区网站建设价格低东莞 外贸网站设计
  • 网站开发框架 简单腾讯企业邮箱邮箱
  • 数据服务网站策划方案wordpress菜单链接新窗口
  • 建设银行江苏省行网站手机建站专家
  • 网站定制开发广西南宁市有哪些网络公司
  • 网站建设 漳州微网站做下载链接
  • 如何选择营销网站建设wordpress选项下拉菜单
  • 国外设计素材网站免费东莞网站建设教程
  • 手机能创建网站吗北京商场排名前十
  • 免费数据网站承德市建设工程交易中心网站
  • asp网站压缩二级分销模式图
  • 建设的网站后台会自动退出是正常的个人网站主页设计
  • 建一个网站的流程flash网站模板怎么用
  • 网络科技公司名字大全集系统优化的例子
  • 手表网站那个好wordpress导航菜单最右边
  • 用商标做网站名字公司网站系统
  • 做网站像素大小全国企业信息查询系统登录
  • 网站流量与广告费江苏网站建设机构
  • 网站建设免费维护网站如何做词
  • cn域名有名的网站南昌做网站装修的企业
  • 巴彦淖尔网站制作开发嘉盛建设集团网站
  • 网站架构建设jsp做新闻系统门户网站
  • 个人外贸网站赣州智美互联网科技有限公司
  • 长沙网站开发湖南微联讯点不错网页版微信聊天记录会被监控吗
  • 英文网站导航 源码不备案怎么做淘宝客网站
  • 深圳建设局网站首页并提示网站菜单导航及用户登录
  • 如何进入邮箱的网站购物网站策划方案
  • 怎么在京东做网站深圳网站设计公司怎么找
  • 好看的电商网站模板下载推销商务网站的途径有哪些