关于前端非对称加密中的疑惑与探讨

即使在前端非对称加密中,也要有一个公钥或者私钥暴露在客户端,所以非对称加密仅仅能够起到在传输层中防止被人截取读到内容的作用(但别人可以采取同样的数据请求格式进行加密发送请求)这样丝毫起不到防止别人刷请求接口的作用?前端非对称加密的作用仅此而已吗?请前辈们指教很疑惑 最好结合下前端的csrf攻击

阅读 3.8k
2 个回答

加密最主要作用就是防止中间被截取获悉到明文内容。
非对称加密还有一点的作用就是,互相之间传递各自秘钥加密的认证内容用来认证,因为只有自己持的秘钥能解密,就能确认对方身份。

刷接口,你有正确的明文,有秘钥,那你就能发出正确的加密后的信息。怎么防止刷,这是另一个问题了。

还有如果被他人截获了你的加密内容,虽然他不能破解,依旧可以重复发送你的加密内容。这种问题也不是加密这块要解决的。

csrf攻击和加密没有任何关系吧。我记得中文名称是跨站请求伪造,顾名思义,从危险网站发出伪造的向有漏洞的网站的请求。
这个是利用浏览器一些自动发出的get请求可以跨域(比如标签的src属性,其实就是浏览器自动向src指明的url发出一个get类型的http(s)请求);同时http(s)协议中又会默认带着请求的domin中的cookie的特性实现的攻击。

漏洞原因是,用户的认证信息存在了cookie里,并且没有判断请求源头是否可靠。

所以,举个例子,如果A网站是危险网站,B网站是漏洞目标网站,用户a在B网站有账户。
用户a访问了A网站,A网站有个图片的src是向B网站发请求,这时候,这个图片链接发过去的请求就会带着a在B网站的cookie了。如果cookie里有认证用的token,那么,就可以在A网站伪造a的请求并且完成认证了。

加密就是加密,不是防止别人刷接口的,刷接口可以用控频来进行限制;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题