【方法】在直接複製貼上內容的時候,可能已經不知不覺注入了一段不可視的「空白」
出版:2018-04-06
趁著深夜有空,我就翻譯了一篇有趣的文章。這篇文章是說如何插入任意文本到任意文本。有時候,文章都會被某些網站會直接引用博客內容。。。這一類的插入空白字符串方法,可以成為其中一個有力的追蹤源頭的線索。
空白符號不可視,不可說,那就是一個謎一樣的地方了。
經過實測,瀏覽器直接 Copy & Paste 都會把空白字符帶過去的。
Be careful what you copy: Invisibly inserting usernames into text with Zero-Width Characters 這一篇文章提到了加入謎一樣的空白符號的方法。
簡單來說就是把每一個要加密的文字轉換為不可視符號,然後塞到原本的文本裏面。
第一步:分割文字,並轉換成二進制格式的符號。
const zeroPad = num => ‘00000000’.slice(String(num).length) + num;
const textToBinary = username => (
username.split('').map(char =>
zeroPad(char.charCodeAt(0).toString(2))).join(' ')
);
第二步:對於每一個二進制符號,並進一步編譯為加密符號
const binaryToZeroWidth = binary =>
binary
.split("")
.map(binaryNum => {
const num = parseInt(binaryNum, 10);
if (num === 1) {
return ""; // 零距離的空白
} else if (num === 0) {
return ""; // 零距離的非連接工具 (NON-JOINER)
}
return ""; // 零距離的連接工具 (JOINER)
})
.join(""); // 零距離的不中斷空白
第三步:加入這個不可視的符號到文字就行。
Confidential Announcement: This is some confidential text that you really shouldn’t be sharing anywhere else.
希望大家玩得開心 www
Calpa 是一個四天工作的系統架構師,日常幫助客戶構建一站式網站應用,手機應用,雲端架構。
2023 年 9 月,Calpa 收到來自國內外不同 Web3 團隊的邀請,參加韓國的 KBW 2023 和新加坡的 TOKEN 2049 活動。十二月份,Calpa 將參加台北區塊鏈週的 Hackathon 比賽。
Calpa 擅長運用各種前沿技術,包括 TypeScript、React.js 和 Vue.js,開發具有 Responsive Web Design 的網站。另外,他透過運用 aws-cdk 和 TypeScript 技術的融合,實現了基於雲端的「基礎即代碼」(Infrastructure as Code)部署策略,建立了多套高效且具有可伸縮性的全端架構。
同時,Calpa 積極參與各個社群,活躍於香港和台灣的開源社區,分享前沿知識。他曾在 2019 年的香港開源大會中擔任重要講者,為聽眾提供寶貴的工作經驗和深刻見解。此外,Calpa 在 GitHub 上公開分享了個人博客程式碼,已獲得超過 300 顆星星和 60 個分支。
如果您對系統架構有任何問題,或需要進一步交流,請隨時聯絡 Calpa,他非常歡迎討論。