1. 程式人生 > >檢測微信小程式是否被反編譯獲取原始碼

檢測微信小程式是否被反編譯獲取原始碼

眾所周知,微信小程式的程式碼安全性很弱,很容易被別人反編譯獲取原始碼。我自己的小程式也被別人反編譯拿到原始碼還上線了,非常無語。

既然客戶端不好防範,服務端還是可以做點手腳的。

小程式的Referer是不可以更改的,從手機上發出的請求的Referer一般是這樣

https://servicewechat.com/wx05ac2038cb1a1286/1000/page-frame.html

結構很清晰,可以分為四部分:

https://servicewechat.com是小程式的域名,wx05ac2038cb1a1286是小程式的APPID,1000這個數字是什麼不清楚,不過看這個數字有很多,大概率是通過小程式不同頁面發起的請求對應的數字不同,page-frame.html

這個不用管,每個請求最後都一樣。

如果你想過濾掉所以來自微信小程式的請求,只需要在加一個Referer檢測的中介軟體,所有Referer裡包含“https://servicewechat.com”的請求全部返回500就可以了。

別人拿到你的程式碼,肯定要在開發者工具裡執行的,小程式通過開發者工具發出的請求的Referer和通過手機發出的是不同的

https://servicewechat.com/wx05ac2038cb1a1286/devtools/page-frame.html

可以看出,通過開發者工具發出的請求Referer裡和普通手機發出的請求的唯一區別就是原本的數字變成了devtools,所以可以加個中介軟體攔截所有Referer裡包含devtools的請求,當然也可以攔截到請求以後直接將請求的IP地址拉黑,一勞永逸,這樣即便是用手機也無法訪問你的小程式了。

當然這樣也有個問題,就是你自己在開發者工具除錯的時候也沒辦法訪問伺服器,可以給自己的IP地址開個白名單什麼的。