2020香港除夕倒數大抽獎 (https://www.hknycd.com/zh-Hant/)
今次擲千萬辦除夕補飛活動,程鼎一透露,只讓團隊用3星期籌備,形容今次除夕活動是「全民參與式、香港未試過、世界未試過」-- 蘋果日報
據未經實証的消息了解,「香港除夕倒數大抽獎」好像是一個所費不菲的網站,但除夕倒數大抽獎的整體體驗劣評如潮。
作為香港的一份子有責任去探究事件的始未,讓公眾及其它香港開發者了解此網站的設計、代碼質素及處理高流量時的相應工序。
所有檔案均是公開的檔案給公眾下載,作者於 GitHub Repository 內的檔案只使用簡單的指令取得,指令如下
curl https://hknycd.com/zh-Hant/images/TB2020_Sponsor_chi_1.png > images/TB2020_Sponsor_chi_1.png
- https://www.hknycd.com/ 使用了 AWS S3, Cloudfront CDN 服務去 Host Static files
- https://www.hknycd.com/api/*, HTTP Header 返回了 Apache(Ubuntu)
- /api/v1/list-card-game-winner-coupon-number
- /api/v1/login
- /api/v1/card-game-check
- /api/v1/list-lucky-draw-winner-ticket-number
- /api/v1/lucky-draw-redeem
- /api/v2/register
- /api/v2/get-verify-token
access_token
saved in cookie (No HttpOnly flag), that can be accessed via javascriptlocalToken
saved in localStorage- No CSRF Token
- No Content security policy rules
- No Minify javascript, CSS, HTML files
- No Obfuscation on Javascript files
- Short cache age
~300 - 900
- No jpeg/png files compression (50% size different)
現促請旅發局將有關代碼開源,令更多香港的開發人員可以從這次失敗中學習相關經驗;日後香港的開發人員再開發高流量的應用程序時,可以避免重蹈覆轍,從而推動香港科網發展,最後提升香港互聯網相關產業鏈的質素。
代碼開源更可以令整個開發環境、進度及代碼質素透明化,令更多廣大市民知道公帑花費的去向,從而一步一步減輕民怨。
以下是各地政府在 GitHub 開源的案例:https://github.com/collections/government
其中一個例子 Search API for GOV.UK