為 ASP.NET 加入自訂 PRTG 指標
PRTG (Paessler Router Traffic Grapher) 是德國 Paessler 公司開發的 Windows 網路監控軟體,提 供友善易用的圖表介面,可用來監控各式網路設備,如路由器、交換機、防火牆、伺服器等,同時也能監控各種應用和服務,如網站、資料庫、郵件伺服器等。監控指標涵... Read More
View ArticleASP.NET 讀取使用者登入帳號:User.Identity vs LogonUserIdentity
在 2023 討論 ASP.NET WebForm,有點像大家都在聊海拉魯,你卻在研究瑪俐歐要怎麼救公主,邊緣感十足。但這個茶包讓我踩了好幾次雷,想想還是寫一篇紀念一下。 要在 ASP.NET 取得登入網站的使用者帳號,我們有不少舊程式是用 Request.LogonUserIdentity.Nam... Read More
View Article使用 xrdp 遠端登入 Linux 桌面環境
Linux 我主要是拿來當 Server 用,在上面裝 Docker 跑 ASP.NET Core 網站,與 Windows 相比,Linux 的硬體需求低很多,自用排程或聊天機器人,1 CPU + 1G RAM 的 Azure B1s VM 就很夠用,每個月成本不到台幣三百元。 Linux 當伺服... Read More
View Article用 JavaScript 執行 AES 加解密 - 香草口味
最近突發奇想,想將系統查詢結果嵌入網頁匯出成 .html,概念上像 Excel 或 Word 一樣是個文件檔,方便 Email 轉寄、歸檔保存,而採用網頁的好處是免裝軟體,用瀏覽器就能開啟,透過 JavaScript 可實現極佳的互動操作體驗。 但我馬上想到一個問題,針對機敏資料,Excel/Wor... Read More
View ArticleHTML 單檔文件挑戰 - 內嵌 .js GZIP 壓縮檔
繼續我的 HTML 文件檔計劃。封裝文件檔的另一項重點是把所有內容打包成單一 .html 檔 (高年級同學可能還記得 IE 時代有個 .mht,差不多的概念),把要引用的第三方程式庫、CSS、圖檔都嵌進 .html 是較可行的做法,若包成 ZIP 閱讀時要在本機解壓縮,應該沒人能接受吧?網頁 HTM... Read More
View ArticleVSCode 整合終端機顯示的黑不是黑
測試某段 Console.ReadLine() 輸入密碼程式,我用了 Console.ForegroundColor = ConsoleColor.Black 技巧避免顯示密碼內容。不料在 VS Code Terminal 測試時,密碼卻走光了: 對照標準 CMD 及 PowerShell,Con... Read More
View Article古董 MacBook Air 換電池
我手邊有台 2011 年份的 MacBook Air,雖然年事已高,狀況仍然很好,偶爾想試試 ASP.NET Core、VSCode 的跨平台效果,或體驗 MacOS 作業系統差異,有台實機能驗證滿足好奇心,狂勝憑空想像。 機器狀況雖好,電池卻難敵歲月摧殘,續航力每況愈下,往往不插電放個兩三天電力便... Read More
View ArticleVue 練習:關鍵字即時查詢之去抖動(Debounce)處理
我寫了一個在 <input type="text" v-model="keywd" > 輸入關鍵字搜尋顏色的 Vue 3 範例: <div id="app"> <h2>HTML Color Nam... Read More
View ArticleCoding4Fun - 試玩 SHA256 密碼雜湊暴力破解
早上提到我的 SCH (Self-Contained Html) SideProject,文件保護是「用密碼字串 SHA256 雜湊當金鑰加隨機 IV 對內容做 AES256 加密」,但因解密會在瀏覽器執行,JavaScript 端解密邏輯是公開的祕密,有心想破解的人,寫支程式用不同密碼嘗試解密,就... Read More
View ArticleCoding4Fun - SHA 密碼雜湊攻防 / 加鹽翻炒版
前情提要:SCH (Self-Contained Html) 單檔 HTML 文件提供密碼保護功能,做法是「用密碼字串 SHA256 雜湊當金鑰加隨機 IV 對內容做 AES256 加密」,但因解密會在瀏覽器執行,JavaScript 端解密邏輯是公開的祕密,有心人寫支程式就能暴力破解。 而我自己寫... Read More
View Article滄海桑田一甲子,熱門程式語言演變史
看到同事分享的有趣影片: Most Popular Programming Languages 1965 - 2022 影片作者是個專注資料視覺化的博士班研究生,統計了自 1965 年至 2022 年最受歡迎程式語言的演進,時間軸橫跨 58 年,就當一甲子吧。統計資料來自多個國家的調查結果,再加上全... Read More
View Article提醒 VSCode Live Server 使用風險 - 當心專案內容裸奔
VSCode Live Server 是超棒的靜態網頁開發輔助套件,能即時檢視 HTML、CSS、JavaScript 修改結果,方便度破錶。 但應該有不少跟我一樣,以為 Live Server 只能由 127.0.0.1 本機存取(例如,而設定檔有個 useLocalIp,設為 true 時瀏覽器... Read More
View Article直行橫列?直列橫行?
最近陷入對列跟行定義的迷惑中,花了點時間重新認識列、行、欄,整理備忘。 我對列跟行的定義主要來自 Excel,列 Row 是橫的,行 Column 是直的。資料表也有類似對映,查詢結果的一筆筆資料叫 Row,每筆有多個 Column,則翻譯成欄,若以表格格式呈現,也是 Row 是橫的,Column ... Read More
View ArticleHTML Script 載入小技巧:defer 與 async
這篇適合技能停在 jQuery 及 WebForm + AJAX 時代的老人。 依我從小學到的傳統概念,要存取 DOM 元素必須把程式寫進 $(function() ) 或 window.onload 事件(二者差別在於前者發生在載入 DOM 後,後者需等圖檔等資源載入完成)以確保程式執行時 DOM... Read More
View ArticleASP.NET MVC 防止 AJAX POST CSRF 攻擊
這篇談談 ASP.NET MVC + AJAX POST 程式如何防止 CSRF 攻擊。延伸閱讀:讓我們來談談 CSRF by huli 我寫了一個簡單的活動報名模擬頁面,Index.cshtml 如下: @{ Layout = null; } <!DOCTYPE html> ... Read More
View ArticleCoding4Fun - 從比對原始資料改為比對 SHA256 會慢多少?
開會討論到一個系統需求,要從大量資料標註出特定類別,例如:呼叫端提交一百萬筆帳號,系統由資料庫查詢屬於該類別的帳號清單(假設有五萬筆),API 服務要在標記出這五萬筆並傳回結果。 由於帳號具敏感性,為進一步降低資訊外洩風險,既然只要比對相符,我提議傳入帳號雜湊值取代帳號本身,感覺一定比傳明碼安全。不... Read More
View Article如何控制 Parallel.For/ForEach 使用幾條 Thread?
我有個迷思。Parallel.For 或 Parallel.ForEach 有個 ParallelOptions.MaxDegreeOfParallelism 參數,可用來控制並行運算的工作數量,避免 Thread 數過多效能反而變差(延伸閱讀:從 ThreadPool 翻船談起),我的理解是如果我... Read More
View Article用 C# 優雅解析 CEF 資安事件訊息 ft. Github Copilot
我在一些系統通知信偶爾會發現類似以下文字內容,多半是事件的詳細資訊,突發奇想打算寫些小服務,偵測到特定類型或特定目標相關事件時觸發額外通知。之前我都把這種內容當成某系統才有的專屬格式,寫個 Regular Expression 抓出關鍵欄位能動就好,沒想過要完整解析。 CEF:0|Trend Mi... Read More
View Article3D 列印散熱風扇座
有過手機因長期充電過熱,不到兩年電池便胖到把殼撐破的悲慘經驗,我在手機無線充電散熱這事兒上有些走火入魔... 總之,我為家裡的無線充電座買了個 12 公分 USB 5V 散熱風扇,轉速不快只有 1500 轉,但夠安靜,作為充電散熱足矣。但有個小缺點,扇身 12 公分過於瘦高,一碰即倒,只怕再多摔幾次... Read More
View Article輕前端首選 - Vue.js 3 讀書筆記
前端?後端?全端? 小閃光問了個問題:非本科轉職資訊走前端是不是比較容易?身為全端老司機,依多年經驗與觀察給了分析: 前端技術工具常砍掉重練,大家一起被拉回起跑線,老鳥優勢不明顯 前端知識較收斂,打好 HTML、CSS、JavaScript 基礎即能上場 前端設計成果回饋直覺,驗收規格明確,也易靠... Read More
View Article