日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)小程序教程:微信小程序安全指引·通用

通用

接口鑒權(quán)

接口鑒權(quán)是指后臺(tái)接口(包括自建后臺(tái)接口與云函數(shù))在被調(diào)用時(shí)需要對(duì)本次接口調(diào)用進(jìn)行權(quán)限校驗(yàn),否則容易發(fā)生越權(quán)行為。如商品刪除接口,后臺(tái)在收到請(qǐng)求時(shí)應(yīng)當(dāng)校驗(yàn)調(diào)用者的身份信息(如 openid、 ip 地址、開發(fā)者自定義的登錄信息等),只有指定用戶才可以通過校驗(yàn)進(jìn)行刪除。

越權(quán)通常分為平行越權(quán)和垂直越權(quán):

  • 平行越權(quán) 
    平行越權(quán)是指相同角色之間的越權(quán)。 A1、 A2 都是普通用戶, A1 通過請(qǐng)求后臺(tái)接口 userinfo.php?id=A1 來獲取用戶 A1 自己的信息,如果 userinfo.php 沒有進(jìn)行權(quán)限校驗(yàn),用戶 A1 把請(qǐng)求改為 userinfo.php?id=A2 便可以獲取到 A2 用戶的信息,造成 A2 用戶信息的泄露。
  • 垂直越權(quán) 
    垂直越權(quán)是指不同角色之間的越權(quán)。 B1 是管理員, B2 是普通用戶,管理員 B1 通過請(qǐng)求后臺(tái)接口 getalluserinfo.php 可以獲取所有注冊(cè)用戶的信息,如果 getalluserinfo.php 沒有進(jìn)行權(quán)限校驗(yàn), B2 用戶也可以請(qǐng)求 getalluserinfo.php 來獲取所有注冊(cè)用戶的信息,出現(xiàn)越權(quán)行為。

開發(fā)建議:

  1. 敏感數(shù)據(jù)、能力相關(guān)接口需要在后臺(tái)進(jìn)行鑒權(quán)。通??尚r?yàn) openid、 IP 地址、自定義登陸態(tài)等信息。
  2. 鑒權(quán)邏輯應(yīng)放在后臺(tái)進(jìn)行,不應(yīng)在小程序前端以隱藏頁面、隱藏按鈕等方式來代替。參照原則4。
  3. 鑒權(quán)代碼示例(僅供參考)
    1. 自建后臺(tái)鑒
      function actionDelete(){
          $item_id = $_POST["item_id"]; 
          $openid = $_POST["openid"];
          $ip = $_SERVER['REMOTE_ADDR'];
          $user_role = $_SESSION["user_role"];
          if ($openid === "xxx" &&
              $ip === "192.168.0.101" &&
              $user_role === "admin") {
                  // 進(jìn)行刪除操作
                  // ...
                  return 0;
              } else {
                  // 記錄非法請(qǐng)求
                  // ...
                  return -1;
              }
      }
    2. 云函數(shù)接口鑒權(quán)

      exports.main = async (event, context) => {
          const { OPENID, APPID, UNIONID } = cloud.getWXContext();
          if (OPENID === "xxx") {
              // 進(jìn)行刪除操作
              // ...
          } else {
              // 記錄非法請(qǐng)求
              // ...
          }
      }

    代碼管理與泄漏

    1. 當(dāng)使用 git、 svn 等版本管理工具時(shí),會(huì)產(chǎn)生 .git 等目錄。某些編輯器或軟件也會(huì)在運(yùn)行過程中生成臨時(shí)文件。若這些目錄或文件被帶到生產(chǎn)環(huán)境,則可能發(fā)生源碼泄漏。
    2. 使用小程序代碼管理平臺(tái)或 github 等第三方平臺(tái)時(shí)需要注意項(xiàng)目權(quán)限,不要公開敏感、內(nèi)部項(xiàng)目。

    開發(fā)建議:

    1. 備份文件和版本管理工具產(chǎn)生的文件不要同步到 Web 目錄下。
    2. 禁止外部訪問 .git 等目錄與文件。
    3. 在小程序代碼管理平臺(tái)等管理平臺(tái)內(nèi)配置適當(dāng)?shù)脑L問權(quán)限。

    小程序

    信息泄露

    敏感信息是指一旦泄露可能會(huì)對(duì)開發(fā)者的業(yè)務(wù)、合作伙伴和用戶帶來利益損害的數(shù)據(jù),包括但不限于帳號(hào) Appsecret、特權(quán)帳號(hào)信息、后臺(tái)加密密鑰、登錄賬戶密碼、用戶身份證號(hào)、手機(jī)號(hào)、銀行卡號(hào)等。

    開發(fā)建議:

    1. 敏感信息不應(yīng)以明文、注釋、可逆的編碼方式(如 base64)、不安全散列函數(shù)(如 MD5、 SHA1)等形式出現(xiàn)在小程序文件內(nèi)。
    2. 部分敏感信息如用戶的銀行卡號(hào)、手機(jī)號(hào)等需要用于展示的,需要進(jìn)行脫敏處理。常用脫敏規(guī)范如下: 

      敏感信息類型 展示樣例
      姓名名字只有兩個(gè)字,對(duì)第一個(gè)字打碼,如:*三。 多于兩個(gè)字,只保留第一個(gè)和最后一個(gè),其余都打碼,如:王*四、歐**五
      身份證只顯示第一位和最后一位,如:3****************1
      手機(jī)號(hào)除去手機(jī)國際碼后,手機(jī)號(hào)位數(shù)不少于10位時(shí),只顯示前三位和最后兩位,如:156******77。手機(jī)號(hào)位數(shù)少于10位時(shí),只顯示前兩位和后兩位,如:12*****89。國家碼可以完全顯示。
      銀行卡只顯示最后4位,如:************1234
    3. 如果小程序存在敏感信息泄露的問題,微信開放平臺(tái)將有可能下架該小程序,并暫停該小程序的相關(guān)服務(wù)。


    本文標(biāo)題:創(chuàng)新互聯(lián)小程序教程:微信小程序安全指引·通用
    鏈接地址:http://m.5511xx.com/article/djggpsj.html