大神们能不能讨论下js app的安全性问题?



  • 因为老大比较在意这个,但好像也没找到什么资料,除了js代码可以混淆外;

    我举两个例子,
    比如一些关键数据,token或其它通信验证标识,应该存在哪里,可以获取后保存在一个config.js可以吗,在手机上有没有办法会被取到这个token,截取到token坏人可能就会做些其他事情了
    还有一些关键逻辑、或接口地址与协议,都写在js里别人都能看到,有什么办法能尽量隐藏吗



  • 1、安全性的前提是终端在用户自己手里。如果终端不在用户手里,那么任何安全措施都没有保证,也没有保证的意义。所以你问存在哪里,那么答案就是需要存在本地就存在本地,存在本地具体哪里或者什么形式,没有本质区别。
    2、要防范的关键问题就是终端在用户手里的前提下的任何可能泄漏的途径。这才是安全的普遍意义。原理就是,网络上的任何一个节点都可能截获用户流量,那么安全的意义在于,任何被截获的流量,都不能逆向获取出有意义的信息。这也是https的目的。如果没有https,那么你需要每个请求都加密token。
    3、地址、协议等等常量的存放,基本等同于问题1。业务逻辑靠混淆,即便不混淆,应该也不敏感。比如支付宝/网银的网站逻辑,当然也全是js,但是你拿到了又能如何呢。



  • 网页在用户本地的安全性,完全适用于RN的js。那么多网站都没问题,怕什么呢?