<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          辟謠!扒了一下西安一碼通的接口,這才是崩潰的真實原因!

          共 2849字,需瀏覽 6分鐘

           ·

          2022-01-13 01:37


          最近西安一碼通二次崩潰這個事情,實在是太頂了。

          網(wǎng)上一直在說崩潰是因為后臺傳輸?shù)氖菆D片?



          第一次看到這個消息的時候,我是抱有懷疑態(tài)度的。畢竟大家都知道這種大的政府項目都是要招標的,能中標到項目的公司也肯定不會差,怎么會犯這么低級的錯誤呢?


          今天又在知乎上看到了知友 “盧興民” 的回答,別人是真的去分析了二維碼接口數(shù)據(jù)的,證明并不是在服務器生成圖片。


          西安健康碼的接口數(shù)據(jù)



          真正的二維碼數(shù)據(jù)是?/person/app/refreshQRCode這個接口



          這位知友表示:


          看下這個接口返回,設計上也沒有太大的問題。?


          主要問題集中在所有的js/css/img這些靜態(tài)資源全都從從一個出口進行提供,沒上CDN


          粗略估算了一下,js/css/img數(shù)據(jù)總共約500kB


          按照從某個群里得到的數(shù)據(jù),暫且認為是準的,健康碼的請求量峰值達到了3.3w qps


          搜索公眾號互聯(lián)網(wǎng)架構師回復“2T”,送你一份驚喜禮包。


          那按照這個量估計 33000 x 500 x 8 bps ≈ 125Gbps ?這個出口量級很難用單機房承載,峰值一來,出口網(wǎng)卡打滿,直接gg。


          到寫這個回答時,西安健康碼還是沒有將靜態(tài)資源上CDN,之后看看訪問量再起飛的時候,能不能扛得住吧。


          還有一位知友 “知乎用戶xv4Ddk” 就更詳細了,扒證據(jù)的詳細步驟都寫出來了。

          知乎回答原文如下:


          想直接抓 HTTP 包


          惦記通過 PC 微信打開「西安市民一碼通」抓個包,結果發(fā)現(xiàn)「個人電子碼」注冊時需要以西安的地址注冊


          常住或臨時地址都只能選擇西安的區(qū)/縣


          怕萬一給我健康碼搞紅了,所以沒敢繼續(xù)……

          簡單的路走不通,只能換一條復雜點的


          那就看看這個小程序咋寫的吧


          因為自己是蘋果手機,于是找出之前用過的安卓模擬器(為啥不是虛擬機?因為我電腦里沒有 Android Studio 之類…)

          我真的不是拿這個(安卓模擬器)玩游戲,我發(fā)誓……


          具體步驟




          Wxapkg就是緩存到本地的微信小程序包



          解包出來的小程序源代碼


          • 從源碼的 pages\index\index.wxml 中找到了個人電子碼,及其綁定的點擊事件「onElectronCode」,進而跟蹤到「onYmtLogin」->「toYmtLink」-> 「toElectronCode」


          找到了一碼通的地址,原來是小程序打開外部網(wǎng)頁

          其中

          N = getApp(),






          function?qrcodeColour(e,?t,?a,?o)?{????var?s?=?baseUrl?+?"/view/login.html?code="?+?t??????,?i?=?300??????,?r?=?300??????,?n?=?i??????,?d?=?r??????,?p?=?80??????,?l?=?80??????,?c?=?(i?-?p)?/?2??????,?u?=?(r?-?l)?/?2??????,?m?=?$(e).qrcode({????????render:?"canvas",????????text:?s,????????width:?i,????????height:?r,????????background:?"transparent",????????foreground:?a????})??????,?g?=?m.find("canvas").get(0)??????,?C?=?new?Image;????C.src?=?g.toDataURL("image/png"),????C.onload?=?function()?{????????g.width?=?n,????????g.height?=?d;????????var?e?=?g.getContext("2d");????????e.fillStyle?=?"#ffffff",????????e.fillRect(0,?0,?g.width,?g.height),????????e.drawImage(C,?0,?0);????????var?t?=?new?Image(p,l);????????t.src?=?o,????????t.onload?=?function()?{????????????e.drawImage(t,?c,?u,?p,?l)????????}????}}


          最終結果:沒有服務端生成二維碼圖片!


          相關鏈接


          ?https://www.zhihu.com/question/509914161/answer/2299099095?

          ?https://www.zhihu.com/question/509914161/answer/2299646933?

          相關閱讀:2T架構師學習資料干貨分享

          全棧架構社區(qū)交流群

          ?「全棧架構社區(qū)」建立了讀者架構師交流群,大家可以添加小編微信進行加群。歡迎有想法、樂于分享的朋友們一起交流學習。

          掃描添加好友邀你進架構師群,加我時注明姓名+公司+職位】

          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人


          往期資源:


          Flutter 移動應用開發(fā)實戰(zhàn) 視頻(開發(fā)你自己的抖音APP)
          Java面試進階訓練營 第2季(分布式篇)
          Java高級 - 分布式系統(tǒng)開發(fā)技術視頻
          瀏覽 31
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷六月| 亚洲男人天堂2025 | 可以免费看的成人网站 | 日韩淫色综合网站 | 小电影在线观看黄.999 |