请教一个JS请求数据的安全问题

niumowangguilai 2017-08-17 08:44:53
js调用一些项目内的接口或者发起一些POST、GET请求,如何保障安全问题?

举个例子:
1.后台代码调用一个接口,接口参数是按照一定的的顺序把参数排序,然后在加上一些私钥之类的东西,签名或者MD5加密
接口端进行验证。
如果以上方法用js来做,排序的顺序和私钥岂不是全部被暴露了。

求指点,谢谢!

...全文
469 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
楠小南 2017-08-21
  • 打赏
  • 举报
回复
引用 7 楼 niumowangguilai 的回复:
[quote=引用 5 楼 diaodiaop 的回复:] 微信jsapi同样把生成的东西暴露在了外面. 难道他们不认为 这是"不安全"的吗? 你想多了....
我这里可能表达的不是太准确,其实我是想说。一个web服务接口,假设传递三个参数,第三个参数是前两个参数按照字典排序后键值对拼接的哈希值,那么,我用js在调用这个接口的时候,别人可用通过js的代码看明白我这个接口的参数如何传递,以及传递规则。我想避免这种情况,应该如何处理。[/quote] 你可以在JS用RSA 将敏感字段加一下。接收方再解开。 不过密匙都是在JS里面,也会看到 。
c02645 2017-08-21
  • 打赏
  • 举报
回复
你使用加密规则在JS上实现,别人自然知道,但你可以在后台加密啊,把加密码好的密钥给前台的JS赋值,这样别人就不知道你的加密过程和加密基础数据了。
niumowangguilai 2017-08-20
  • 打赏
  • 举报
回复
引用 5 楼 diaodiaop 的回复:
微信jsapi同样把生成的东西暴露在了外面. 难道他们不认为 这是"不安全"的吗? 你想多了....
我这里可能表达的不是太准确,其实我是想说。一个web服务接口,假设传递三个参数,第三个参数是前两个参数按照字典排序后键值对拼接的哈希值,那么,我用js在调用这个接口的时候,别人可用通过js的代码看明白我这个接口的参数如何传递,以及传递规则。我想避免这种情况,应该如何处理。
niumowangguilai 2017-08-20
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
任何程序的安全都是相对的。比如说随便一个程序,假设它非常简单与它是大型的复杂的程序相比,那么即使什么加密、混淆都不做,它的安全性也是完全不一样的。特别简单的程序本身就非常容易模仿,甚至都“不值得模仿”。所以其实要进行平衡,目的是“抢”一些先机。 比如说微信公众号应用,它首先通过客户的服务器软件将token、密码等等换取了认证的(会话的)随机 code编码,然后这个编码就在客户端反复使用,客户端再访问公众号服务器软件时总是提供此code,服务器就能用此code 获得实际的用户的 openid 编号。 可以看出,都是综合平衡的产物。没有绝对的明文或者绝对的不可破解不可模仿一说。其实重点还是为了用流行的 js 方法来快速开发手机应用。抛开这个前提,那么就不会理解微信应用的客户端编程有什么用了。
我这里可能表达的不是太准确,其实我是想说。一个web服务接口,假设传递三个参数,第三个参数是前两个参数按照字典排序后键值对拼接的哈希值,那么,我用js在调用这个接口的时候,别人可用通过js的代码看明白我这个接口的参数如何传递,以及传递规则。我想避免这种情况,应该如何处理。
by_封爱 2017-08-18
  • 打赏
  • 举报
回复
微信jsapi同样把生成的东西暴露在了外面. 难道他们不认为 这是"不安全"的吗? 你想多了....
  • 打赏
  • 举报
回复
比如说对于密码学来说,真正的加密是通过“公开机制”来落实的。也就是把加密程序的源代码告诉每一个人!!!! 所以重点不在于说别人跟你是不是完全不一样,而在于说别人根本不在你的监视之下操作。
  • 打赏
  • 举报
回复
你自己的 js 访问自己的服务器时,一方面你要说明自己传的是什么,另一方面要说明有没有必要这样传。你不可能现在就有腾讯或者阿里巴巴一样的需求和开发费,但是你完全可以有一样的技术。比如说如果你可以在3个月之后才为100个服务请求同意增加一个 code 或者 session 或者 token 参数,但是现在没有必要加,这完全是合理的设计。重点在于你确实能做到,而且能收到产品更新开发费用。
  • 打赏
  • 举报
回复
任何程序的安全都是相对的。比如说随便一个程序,假设它非常简单与它是大型的复杂的程序相比,那么即使什么加密、混淆都不做,它的安全性也是完全不一样的。特别简单的程序本身就非常容易模仿,甚至都“不值得模仿”。所以其实要进行平衡,目的是“抢”一些先机。 比如说微信公众号应用,它首先通过客户的服务器软件将token、密码等等换取了认证的(会话的)随机 code编码,然后这个编码就在客户端反复使用,客户端再访问公众号服务器软件时总是提供此code,服务器就能用此code 获得实际的用户的 openid 编号。 可以看出,都是综合平衡的产物。没有绝对的明文或者绝对的不可破解不可模仿一说。其实重点还是为了用流行的 js 方法来快速开发手机应用。抛开这个前提,那么就不会理解微信应用的客户端编程有什么用了。
niumowangguilai 2017-08-17
  • 打赏
  • 举报
回复
怎么没有人呢,求路过,求指点,谢谢
这个微信小程序设计SSM(源码SSM小程序Vue)是一个基于Spring、SpringMVC和MyBatis(SSM)框架的教学辅助小程序,前端采用Vue.js框架进行开发。它旨在为教育行业提供一个便捷、高效的学习和教学平台。 技术方面,该小程序采用了以下几种主要技术: Spring:一个轻量级的Java开发框架,用于构建企业级应用,提供了IoC容器、AOP框架等核心功能。 SpringMVC:一个基于MVC设计模式的Web框架,用于处理HTTP请求,实现前后端分离。 MyBatis:一个持久层框架,用于将Java对象与数据库表进行映射,简化数据库操作。 Vue.js一个轻量级的JavaScript框架,用于构建用户界面,提供了数据驱动的组件系统和响应式编程。 微信小程序:一种基于微信平台的轻量级应用,可以在微信内部直接打开使用,无需下载安装。 功能方面,该小程序主要包括以下几个部分: 课程管理:提供课程的添加、修改、删除等功能,方便教师对课程进行管理。 学生管理:提供学生的添加、修改、删除等功能,方便教师对学生信息进行管理。 成绩管理:提供成绩的录入、查询、统计等功能,方便教师对学生的成绩进行分析和评价。 在线答疑:提供在线提问和回答功能,方便学生向教师请教问题,提高学习效果。 资源分享:提供课件、资料等资源的上传和下载功能,方便教师和学生共享学习资源。 总之,这个基于SSM框架和Vue.js的微信小程序设计,为教育行业提供了一个便捷、高效的学习和教学平台,有助于提高教学质量和学习效果。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧