2020年5月27日

[資安] 跨站偽造請求(Cross Site Request Forger, CSRF, XSRF) 的說明與預防

Photo by Clint Patterson on Unsplash keywords: csrf, internet security, one-click-attack, session-riding, XSRF Cross Site Request Forgery 是什麼 跨站偽造請求(cross-site request forgery)也稱為 one-click attack 或 session riding,通常縮寫為 CSRF(有時發音為 sea-surf) 或 XSRF,這是一種利用伺服器所信任的網站來發送惡意請求的攻擊;和 cross-site...

2020年5月26日

[資料結構] Binary Search Tree

keywords: data structure, recursive function, 遞迴函式, queue, 佇列 此系列筆記主要依照 [Udemy] Learning Data Structures in JavaScript from Scratch by Eric Traub 的課程脈絡加以整理,但部分程式碼是消化後以自己較易理解的方式重新撰寫,因此和原課程內容有些出入。 Binary Search Tree 有一個很重要的概念是,它是有「階層」的概念在內的,並不是把所有數字放在同一層排序 在建立 BST instance 時會把 root...

[資料結構] Hash Table

keywords: data structure 此系列筆記主要依照 [Udemy] Learning Data Structures in JavaScript from Scratch by Eric Traub 的課程脈絡加以整理,但部分程式碼是消化後以自己較易理解的方式重新撰寫,因此和原課程內容有些出入。 觀念 Hash Table 本身是一個陣列,裡面的每一個元素都是帶有 key-value 的物件,稱作 Buckets。 透過自訂的 hash 函式,可以決定新增的資料要放在 Hash Table 中的哪個位置。 當有不同的內容放到相同編號的...

[資料結構] Linked List

此系列筆記主要依照 [Udemy] Learning Data Structures in JavaScript from Scratch by Eric Traub 的課程脈絡加以整理,但部分程式碼是消化後以自己較易理解的方式重新撰寫,因此和原課程內容有些出入。 資料結構(Data Structure)是什麼 不同的資料結構有不同的強弱項,有的在儲存(storing)和紀錄(recording)資料的速度較快,有的則是在搜尋(searching)和提取(retrieving)上比較快。 資料結構的使用會影響到效能表現(performance)和程式運行的效率 Linked...

2020年5月25日

[掘竅] 為什麼要使用 rel="noreferrer noopener",談 target="_blank" 的安全性風險

在網頁撰寫的過程中,經常當我們要另開視窗時,很容易使用 <a target="_blank"> 這樣的寫法,但如果你有使用 ESLint 的話,它會建議你在 a 標籤中要加上 rel="noreferrer noopener",也就是: <a href="https://www.google.com" target="_blank" rel="noreferrer noopener"> Google </a> 之所以要加上這行,是因為當瀏覽器使用 target="_blank" 來打開新視窗時,新的視窗所在的網頁是有辦法透過 ...

2020年5月1日

[Mobile] 給開發者用:將 Android 裝置畫面投影到 MAC / PC 上的工具(scrcpy)

keywords: screen sharing, screen mirroring, miracast, android, screen recording 💡 備註:如果你是 iOS 裝置要投放到 Mac 的話則非常簡單,透過內建的 QuickTime 就可以了,只需選擇「File -> New Movie Recording」後,將來源選到 iOS 裝置即可,可參考圖一和圖二的說明。 最近因為有把手機(Android)的操作畫面投影到電腦上的需求,試了幾套不同的工具後,發現許多工具都需要在手機和電腦端同時裝 App,除了會有較明顯的時間差外,大多都是透過 Android...