首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

一些重要系统的 http 接口,为什么没有前端参数加密呢?

  •  
  •   css3 · 30 天前 · 2703 次点击

    例如,12306 外挂这么多,为啥没有前端加密,后端解密呢, 后端响应也加密呢,小白,纯属好奇,问一下各位大佬😂轻喷

    32 回复  |  直到 2019-10-23 17:06:32 +08:00
        1
    KyonLi   30 天前
    右键检查
        2
    drlalll   30 天前
    前段再怎么加密代码还不是被看得清清楚楚的。
        3
    Vegetable   30 天前
    可以,但没必要。
    增加那点开发成本和巨大的收益比起来,根本没有意义。
        4
    msg7086   30 天前
    你都说了前端加密了。前端的代码都在浏览器,加密不加密有什么区别吗?都是用户控制的设备和环境。
        5
    css3   30 天前
    @drlalll 能看到也是一些长长的字符啊,这样不可以防止一些初级用户模拟 post ?

    @Vegetable 这样不可以防止一些初级用户模拟 post?

    @msg7086 看我上面说的
        6
    ochatokori   30 天前 via Android
    可以,但没必要
    后端本来服务器资源就不太够,还要浪费去没什么用的解密
        7
    css3   30 天前
    @KyonLi @drlalll @Vegetable @msg7086
    举个我自身的例子,我本身想着登录一个网站,预约个号,抓包发现是加密的,就把我挡住了,加密的,我也不知道它里边究竟是什么内容啊
        8
    yplove156   30 天前
    我的网站的接口就是加密了的 http://xfisher.com
        9
    msg7086   30 天前
    @css3 做外挂的是初级用户吗?
    而且比起模拟 POST,更方便的就是开个什么键盘模拟直接在浏览器上点点划划……

    说来以前我要从 AWS 的控制面板上下载每个月的账单,好几年的份却没有批量下载功能。于是搞了个 AutoIt 下来写了个脚本,浏览器里点击每个月的然后弹出框里点保存,然后去吃了个午饭回来就全下好了。
    你说我去模拟 POST 干啥。
        10
    gitstash   30 天前
    前端很有必要加密,不加密的都是懒而已
        11
    css3   30 天前
    @msg7086 比如手抓包到接口,写脚本批量(或者自动)干啥活的,未加密的,初级程序员,都能搞的定吧
        12
    css3   30 天前
    @gitstash 终于看到一个同意加密的了😁
        13
    css3   30 天前
    @msg7086 能爬虫,不一定看得懂前端加密代码吧?加了密,至少可以防止初级人员模拟 post 吧
        14
    msg7086   30 天前
    @css3 手抓包简单还是直接弄个无头浏览器简单呢还是写个浏览器插件直接往网页上填数据简单呢。
    当然你要说初级程序员等于不会用更方便的方法只会用笨办法的话,倒也是有点道理的。
    等他们成长为资深程序员了就不怕加密了。
        15
    66450146   30 天前
    没必要,防重放攻击只要用一个短效 token 就行了

    或者用 protobuf 这种非文本形式的协议
        16
    gam2046   30 天前
    没有必要。因为阻止初级用户并没有意义。

    现在 12306 还有几个人是自己写的,都是用别人写好现成的。

    而这些人都不是初级用户。还耗费了服务器资源。
        17
    LeeSeoung   30 天前
    你浏览器能发起的请求 任何人都能模拟。。就看成本了。而且不用加密而用其他手段来限制你的方法很多。。
        18
    JerryCha   30 天前
    加解密是需要额外性能的,真当初级用户破不了这种小把戏啊。
    还有,你用啥加密,RSA 公钥?
        19
    ipwx   30 天前
    做外挂的哪是初级用户。。。

    你辛辛苦苦做了前段加密,人工成本先不说,让用户浏览器多了很多没必要的计算量,这都是降低用户体验的啊。还有服务器加解密,真当服务器是土里长的土豆?

    关键是它真的不管用。。。管用的就算是开销大也得上,比如 HTTPS。
        20
    littlespider89   30 天前
    只要是浏览里人能操作的(除验证码一类的),理论上都可以爬虫都可以模仿
        21
    abcbuzhiming   30 天前
    楼主可能并不清楚 http 服务的设计哲学是什么,总之 http 服务并不靠局端加密来保证系统安全,http 只考虑传输过程加密
        22
    humor66   30 天前
    我网站也都是加密的, https://blog.shuipingguo.com 接口藏起来了,
        23
    reus   30 天前
    多余,防君子不防小人,但做外挂的哪有君子?
        24
    Mohanson   30 天前 via Android   ♥ 3
    最近正好接触密码学,简单和回答一下:在信道安全的假设下,对通信数据做加密是没有意义的。比如你登录远程 linux 服务器,你是直接输入明文密码的。而在信道不安全的情况下,对通信数据加密有意义又没有意义:因为你必须把密钥通过信道传送给对方。

    所以世界上正经的计算机科学家都在解决信道安全问题: https, ssl, tls 等,(删掉)而剩余的民科则在研究前端加密(删掉)。
        25
    starsriver   30 天前 via Android
    普通人不需要加密,做爬虫的你加密也没用。

    吃饱了撑的做这种活。没有意义
        26
    musi   30 天前
    12306 有验证码了啊,能破了的都不是初级程序员,破不了的就直接 pass 了
        27
    love   30 天前
    楼上有些挺可笑的,还扯到性能,参数加个密有什么性能损失

    如果真要让外挂开发者不好受,前端加密当然是有必要的,如果有个专人搞这个并经常变变算法小细节,能挡掉大部分并让剩下的难受得一 b
        28
    jinliming2   30 天前 via iPhone
    面对初级用户,也就抓抓包自己用着方便的,你也没必要去限制人家。
    要是已经抓包然后转成一个可以对外开放使用的工程了,可以产生大量请求了,那已经不是初级用户了,你加密也限制不了的。
        29
    wafm   29 天前
    对抗外挂最有效的办法不是使用强硬的技术手段,而是比比看谁更猥琐。
        30
    a1274598858   29 天前
    12306 今年启用了浏览器特征码..几天换一次算法,最后还不是被破解了
        31
    dalin520   19 天前
    没必要加密,直接加个 token 就可以了,等于就是加个 cookie 或者 session 用于鉴权。你看过那个网站请求个接口还要参数加密的?
        32
    css3   19 天前
    @dalin520 就医 160app😂
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3506 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 05:19 · PVG 13:19 · LAX 21:19 · JFK 00:19
    ♥ Do have faith in what you're doing.