window.location.href 跳转页面,隐藏携带的参数

这篇具有很好参考价值的文章主要介绍了window.location.href 跳转页面,隐藏携带的参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

window.location.href 跳转页面,隐藏携带的参数

前言

问题:

在使用 ajax返回结果后,我们有一种需求:根据返回结果跳转到相应的页面,并且跳转过程中会携带一个或多个参数,传递至某个页面或者后台的某个方法,这个时候跳转页面后携带的参数就会直接暴露给用户,带来极大的安全隐患。

举例说明

如下一段方法,在执行完 /order/getOrder 该操作后,如果操作成功,跳转到/pay/checkout 后台封装的controller中,controller重新转发至指定的某个页面,此时跳转成功后,页面路径中直接将 orderId 、totalPrice直接暴露出来了,因为此时为get跳转。

function queryOrder(){
$.ajax({
	type : "post",
	url : '/order/getOrder',
	data : {
		orderId: orderId,
	},
	dataType : "json",
	success : function(data) {
		if (data.data == 1) {
			window.location.href = "/pay/checkout?orderId="
								+ orderId + '&payPrice=' + totalPrice;
		} else {
			return false;
		}
	}
});
}

那该如何成功跳转又能将参数隐藏呢,当然是想办法将方法以post方式提交,下面就是把路径和参数重新封装到一个form 表单里,

function queryOrder(){
$.ajax({
	type : "post",
	url : '/order/getOrder',
	data : {
		orderId: orderId,
	},
	dataType : "json",
	success : function(data) {
		/**if (data.data == 1) {
			window.location.href = "/pay/checkout?orderId="
								+ orderId + '&payPrice=' + totalPrice;**/
			//封装form表单
			var form = $("<form>");
			form.attr("style","display:none");
			form.attr("target","");
			form.attr("method","post");
			//请求地址
			form.attr("action","/pay/checkout");
			//第一个参数 orderId
			var input1 = $("<input>");
			input1.attr("type","hidden");
			input1.attr("name","orderId");
			input1.attr("value",orderId);
			//第二个参数 totalPrice
			var input2 = $("<input>");
			input2.attr("type","hidden");
			input2.attr("name","payPrice");
			input2.attr("value",totalPrice);
			//...多个参数以此类推
			
			$("body").append(form);
			form.append(input1);
			form.append(input2);
			form.submit();
			form.remove();
		} else {
			return false;
		}
	}
});
}

致此,参数完美的隐藏了,但是项目运行过程中,我们的写的js还是会暴露出去,通过分析js还是可以查看分析我们的路径和参数,因为js设计的时候就是明文执行。所以对于重要的js还是要通过特殊手段加密。
例如:
1、将重要的逻辑处理在后端进行,这个过程就比较繁琐
2、通过软件将js直接加密处理,比较常用的是 jshaman ,整个将js代码复制过去,加密后复制回来直接可以使用。
3、自己写个小脚本禁止 F12等按键查看源码等 页面禁用F12或禁用右键查看源码,其他方式还是有挺多的,可以根据实际情况使用,就不多做介绍了文章来源地址https://www.toymoban.com/news/detail-442958.html


到了这里,关于window.location.href 跳转页面,隐藏携带的参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序中如何携带参数跳转到tabBar页面

    在小程序中使用了tabBar组件之后就不能用wx.navigateTo跳转到tabBar页面了 , 能跳转到tabBar页面的方法有以下两种   但是使用第一种方法时,会因为这种方法在路径后不能携带参数,所以行不通 那么就只能用第二种方法 , 用wx.reLaunch进行跳转 , 地址后跟上自己想要的参数 , 或者用wx

    2024年02月11日
    浏览(71)
  • 微信小程序如何跳转到tabBar页面、如何携带参数过去

    微信底部如果用的是系统自动的 tabbar ,也就是在 app.json 中配置的底部路由: 需要注意以下两个问题: 比如,个人中心是 tabBar ,使用 navigator url=\\\"/pages/me/me\\\"个人中心/navigator 跳转时,无法跳转,也不会给任何提示。 如果在普通标签上使用 wx.navigateTo 跳转到任意 tabBar 页面,则

    2024年02月05日
    浏览(81)
  • 短信跳转打开微信小程序的指定页面,可以携带参数

    本项目具体需求是短信跳转同一个小程序的不同页面,可以带参数。使用云函数和h5页面,开发时使用静态网站调试,后期h5页面后端另外部署的。 不属于原创,只是在使用的过程中参考以下教程,最终达到效果。现在记录下自己的实施过程。 微信小程序云函数使用教程【超

    2024年04月16日
    浏览(88)
  • 【HarmonyOS】服务卡片 API6 JSUI跳转不同页面并携带参数

     【】 服务卡片、卡片跳转不同页面、卡片跳转页面携带参数 【写在前面】           本篇文章主要介绍开发服务卡片时,如何实现卡片点击跳转不同页面,并携带动态参数到js页面。在此篇文章“服务卡片 API6 JSUI跳转不同页面”中说明了如果跳转不同页面,这里在

    2024年02月06日
    浏览(42)
  • uni.location与Window.location.href

    在H5页面使用Window.location.href来跳转地址是没有问题的,在把H5转化为小程序是遇到要携带地址跳转是把Window.location.href改为uni.location就好了。 1.当时用H5的Window.location.href时    2.当时用uniapp的uni.location.时,点击考勤就可以携带当前地址跳转页面了    

    2024年02月12日
    浏览(35)
  • 微信小程序内页跳转登录,登录完成后携带参数重新回到之前页面实现方法

    第一步:在app.js或utils.js中添加以下两个方法: 第二步:在跳转到登录页面跳转前调用setCallbackUrl方法(获当前页面的路径和参数存本地),登录页面登录成功后调用getCallBackUrl方法(提取之前存的路径和参数返回),如果没有就在catch中执行登录后的正常逻辑,比如跳转到默

    2024年02月02日
    浏览(64)
  • 【微信小程序】扫描外部二维码、小程序码进入并获得携带参数,使用参数跳转到指定页面

    您需要使用微信提供的跳转链接和相关参数。以下是实现的步骤: 生成跳转链接:使用以下链接格式生成跳转链接,其中 APPID 是您的小程序的 AppID, PATH 是您要跳转的页面路径, QUERY 是您要传递的参数。 生成二维码:使用生成的跳转链接生成二维码。您可以使用在线的二维

    2024年02月08日
    浏览(60)
  • Vue3.0路由跳转携带参数

    1、在需要跳转的页面 2、如果有参数的话,在接收页面引入API–useRoute 1、如果提供了 path,params 会被忽略,但query 没有这种情况,此时需要提供路由的 name 或手写完整的带有参数的 path 2、上述规则同样适用于 router-link 组件的 to 属性 3、如果目的地和当前路由相同,只有参数

    2024年02月12日
    浏览(44)
  • 微信小程序之间是如何跳转的,并携带参数

    要实现小程序之间的跳转,需要使用小程序的跳转 API。具体步骤如下:         1、在原小程序中,使用  wx.navigateToMiniProgram  API 跳转到目标小程序。         2、在目标小程序中,接收参数并进行处理。在目标小程序中,可以使用wx.getLaunchOptionsSync API获取原始启动参

    2024年02月16日
    浏览(46)
  • Uni-app返回上一页面并携带参数

    目录 一、前言 二、实现方法 三、遇到的坑 四、事件详解 一、前言         需要实现这么一个需求:在一个列表页面,当子页面直接返回时,不刷新列表页面。但是当子页面的数据有变动时,需要刷新列表页面。本篇博客记录一下我是如何解决这个问题的。        

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包