HTML5页面与API接口交互,有什么好的安全方案吗?

发布于 2022-09-06 20:09:20 字数 117 浏览 18 评论 0

我的一个想法是用后端语言PHP搭建个http服务,html5把要传递的参数提交给php,php加密后传递给api,返回的数据解密后返回给html5,中间多了一层中转,主要是为了参数加密,简单的参数签名html5根本做不了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迎风吟唱 2022-09-13 20:09:20

h5 就别想怎么加密参数了,现在应该还没有一个完整的解决方案。如果有的话,请留言让我也学习一下。
就你的说法,我举个栗子:

# 正常
   参数
h5 ===> api ==> 返回数据
# 楼楼的想法
    参数          加密
h5 ===> php中间层 ===> api ==> 返回数据
# 在捣乱的人请求你的接口时,根本不知道有 php 中间层,他们请求你的中间层返回数据
    参数     
h5 ===> php中间层  ==> 返回数据

你想一下:你既然在 h5 传参数到 php 中间层加密,然后再通过请求 api,那么,想乱来的人,就可以直接认为你的 php 中间层是 api 了,我请求 php 中间层就可以得到数据了
除非你能像 app 那样,看不到源码,自己写一套加密签名,别人根本不知道你用什么加密,不知道怎么传递参数。
而 h5 不一样,我 f12 大法,一看就知道你用什么签名方式,总是可以伪造。而你一点办法都没有。
正确的做法:

  1. 就像你说的,做一个 sign 校验参数
  2. 重要的接口需要登录才能访问。
  3. 节流限制访问次数
鯉魚旗 2022-09-13 20:09:20

你的需求是希望实现数据的加密传输吗?

首先数据(也就是你说的参数)在从浏览器(H5)发送到服务端(PHP)就已经暴露在外了,PHP加密再传给api已经是无用功了(如果api处于服务端本地局域网内)

你可以用https来实现数据加密传输,可以防止网络中的数据被截获。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文