js调用一些项目内的接口或者发起一些POST、GET请求,如何保障安全问题?举个例子:
1.后台代码调用一个接口,接口参数是按照一定的的顺序把参数排序,然后在加上一些私钥之类的东西,签名或者MD5加密
  接口端进行验证。
如果以上方法用js来做,排序的顺序和私钥岂不是全部被暴露了。求指点,谢谢!

解决方案 »

  1.   

    你自己的 js 访问自己的服务器时,一方面你要说明自己传的是什么,另一方面要说明有没有必要这样传。你不可能现在就有腾讯或者阿里巴巴一样的需求和开发费,但是你完全可以有一样的技术。比如说如果你可以在3个月之后才为100个服务请求同意增加一个 code 或者 session 或者 token 参数,但是现在没有必要加,这完全是合理的设计。重点在于你确实能做到,而且能收到产品更新开发费用。
      

  2.   

    微信jsapi同样把生成的东西暴露在了外面. 难道他们不认为 这是"不安全"的吗?你想多了....
      

  3.   

    我这里可能表达的不是太准确,其实我是想说。一个web服务接口,假设传递三个参数,第三个参数是前两个参数按照字典排序后键值对拼接的哈希值,那么,我用js在调用这个接口的时候,别人可用通过js的代码看明白我这个接口的参数如何传递,以及传递规则。我想避免这种情况,应该如何处理。
      

  4.   

    我这里可能表达的不是太准确,其实我是想说。一个web服务接口,假设传递三个参数,第三个参数是前两个参数按照字典排序后键值对拼接的哈希值,那么,我用js在调用这个接口的时候,别人可用通过js的代码看明白我这个接口的参数如何传递,以及传递规则。我想避免这种情况,应该如何处理。
      

  5.   

    我这里可能表达的不是太准确,其实我是想说。一个web服务接口,假设传递三个参数,第三个参数是前两个参数按照字典排序后键值对拼接的哈希值,那么,我用js在调用这个接口的时候,别人可用通过js的代码看明白我这个接口的参数如何传递,以及传递规则。我想避免这种情况,应该如何处理。
    你可以在JS用RSA 将敏感字段加一下。接收方再解开。 不过密匙都是在JS里面,也会看到
      

  6.   

    你使用加密规则在JS上实现,别人自然知道,但你可以在后台加密啊,把加密码好的密钥给前台的JS赋值,这样别人就不知道你的加密过程和加密基础数据了。