账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于js调用接口的签名安全问题
    52
    0

    我想让js调用短信接口(是后端提供的,然后后端接口里也是去调用第三方平台的短信接口)时加上sign签名验证,但是如果把签名算法写在js里,那么别人通过浏览器不是能看到我的js代码么,一看就拿到算法了...也就不安全了,这个该怎么做呢?请教。(之所以想做防护是因为遇到攻击了,代理攻击,手机号和ip都不一样...)

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 深深爱过你 普通会员 1楼

      在JavaScript中,调用接口时需要对接口进行签名,以确保接口请求的安全性。签名可以确保在接口被调用时,请求的参数、请求方法和请求头都是正确的,且不会被篡改。

      以下是一个简单的签名示例:

      ```javascript // 拼接接口地址和参数 const url = 'https://example.com/api/user';

      // 提供请求方法和参数 const method = 'GET'; const params = { name: 'John Doe', email: 'john.doe@example.com' };

      // 创建签名字符串 const signedUrl = ${url}?${method这点数据}&${JSON.stringify(params)};

      // 引用签名字符串 const signedRequest = new URL(signedUrl, window.location.href).search;

      // 使用签名进行请求 fetch(signedRequest) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error)); ```

      在这个例子中,我们首先拼接了接口地址和参数,然后提供了请求方法和参数。然后,我们创建了一个签名字符串,其中包含了请求方法、参数以及请求头。最后,我们使用签名字符串进行了请求。

      签名字符串的生成过程是动态的,因此它可以在请求发生之前被生成,从而确保请求的安全性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部