请问前端怎么保护接口密钥? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shadowfish0

请问前端怎么保护接口密钥?

  •  
  •   shadowfish0 2021 年 6 月 6 日 2051 次点击
    这是一个创建于 1783 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如现在有一个功能,是要发个邮件,那前端应该是通过接口把这个请求给后端,但是肯定要进行一下鉴权吧,不然随便谁通过接口都可以发邮件,我现在就用的私钥+timestamp md5 加密的办法来做这个鉴权,但是前端密钥都是明文给出的,又感觉不太安全

    11 条回复    2021-06-07 17:54:29 +08:00
    IvanLi127
        1
    IvanLi127  
       2021 年 6 月 6 日 via Android
    前端负责保存,不负责保护。要保护的东西都给后端处理,前端保存后端给的临时授权凭据
    shadowfish0
        2
    shadowfish0  
    OP
       2021 年 6 月 6 日
    @IvanLi127 那这个临时授权凭据怎么拿到呢,我们自己能拿到,别人不也可以通过一样的接口拿到嘛,这边我想不通了
    airyland
        3
    airyland  
       2021 年 6 月 6 日
    先纠正 md5 是加算法这一点。
    然后鉴权这一步首先得登录,别人没有登录账密怎么能通过一样的接口拿到,难道你的密钥不区分用户?
    shadowfish0
        4
    shadowfish0  
    OP
       2021 年 6 月 6 日
    @airyland 区分的,就是怕登录用户本人用自己的 token 去调用这个接口
    airyland
        5
    airyland  
       2021 年 6 月 6 日
    @shadowfish0 这是如何限制的问题,不是鉴权的问题了。
    creedowl
        6
    creedowl  
       2021 年 6 月 7 日 via Android
    只要你在浏览器实现了,一定有办法模拟整个流程,哪怕用各种加密混淆方法也就是增加难度,实在不行也可以用 puppeteer 这类工具模拟实现。所以只能尽量限制
    Mithril
        7
    Mithril  
       2021 年 6 月 7 日
    前端为何要保护接口密钥。。。
    限流肯定是后端做的啊,怎么可能放到前端做。
    labulaka521
        8
    labulaka521  
       2021 年 6 月 7 日 via iPhone
    发邮件前先展示一个验证码
    wd
        9
    wd  
       2021 年 6 月 7 日 via iPhone
    @shadowfish0 那就是保护接口,不是保护密钥.. 接口防止滥用有很多方法你可以搜搜看...
    IvanLi127
        10
    IvanLi127  
       2021 年 6 月 7 日
    @shadowfish0 是的,你能拿到,别人用同样的流程也能拿到。但至少保护接口密钥了,如果你还想保护这临时授权凭据,那你得搞 u 盾之类的东西了, 如果你对这类东西还不放心,可以开设线下人工柜台。不要用自助终端,要人工的。

    其实你能做的只有把权限大的 token 换成权限小的,把长期的换成短期的,缩小泄漏后带来的风险,没办法做到完全安全的。 接口限制的是用户权限,如果用户有权限调接口你们却不想让用户调,那是产品设计缺陷。
    rationa1cuzz
        11
    rationa1cuzz  
       2021 年 6 月 7 日
    没必要啊,怕人随便发做鉴权和频率限制
    比如:只能登陆的用户且每分钟发送一次(每天只能发 10 次?),或者多次调用使用验证码或者其他手段限制,
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3023 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 84ms UTC 02:44 PVG 10:44 LAX 19:44 JFK 22:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86