使用 PowerShell 處理認證身分時,常會被要求以 System.Security.SecureString 型別傳遞密碼參數。Windows 作業系統針對 SecureString 有額外的安全防護,包含內容加密儲存、降低記憶體搬移或轉存次數、可透過 Dispose() 主動釋放記憶體......

大家新年好,鼠年大吉。 今年過年比較怠惰,拖到初三才開始寫 Code。起了個迷你 Side-Project 計劃寫個網頁版「一二級保養檢核表」自用,最重要的目的是想熟悉 Razor Page。資料庫部分準備用 EF Core + SQLite,照著先前寫的 EF Core 筆記要產生資料表 Scri...

近幾年來,網站全面改用 HTTPS 加密傳輸已是業界共識,違者會被 Google 調降搜尋結果排名,被 Chrome 在額頭刺上【不安全】。同樣的,檔案傳輸協定 FTP 如不升級成加密版 SFTP,也一樣會被資安單位盯上要求改善。過去寫過 C# FTP 上傳、下載範例,如今也該與時俱進,研究一下 C...

慶祝我的臉書第二頻道 - 黑暗後花園 在 2020 年開春讚數破千,說好的抽獎活動來了! 這回的獎品是黑暗工作室六萬多人團隊精心研發的程序員專屬螢幕小配件,伴你 Coding 到深夜。 當你面對踏破鐵鞋也抓不出 Bug、改了又改的規格,或是才剛上手就被潮流淘汰的 JavaScript Framewo...

某套老系統在新裝的測試環境噴出 SQL String or binary data would be truncated. (字串或二進位資料會被截斷) 錯誤。 詭異之處在於:引發錯誤的輸入內容很簡短,想不出有超出 VARCHAR 長度的可能,加上該系統運作了十多年,第一次在這個環節遇到字串過長被截...

又到了 PowerShell 練習時間。今天的題目是 - 如何在 PowerShell 引用 C# DLL? 借用上一篇介紹的 DotNetZip 當例子,我打算用 PowerShell 動態建立加密 ZIP 檔。 準備 PowerShell 腳本 Test.ps1 如下,並將 DotNetZip....

工作上有愈來愈多需要加密壓縮的場合,過去我慣用的做法是從 C# 呼叫外部程式,借助 7z.exe 完成任務。不方便之處是我必須先將要打包加密的內容依目錄結構寫成暫存檔,再交給 7-Zip 處理,且做完必須刪檔抹去足跡。這裡隱藏一個危機,若程式在寫暫存檔到刪檔前出錯,便可能殘留明文內容,有資訊外流風險...

系統維運難免會有直接修改正式台資料庫的需求,這類更新程序需要被嚴謹規範,萬一指令 WHERE 條件下錯,更新對象從一筆變成一萬筆,可不是亂著玩的。 為防範出錯,除了制定申請程序、要求指令複核,通常還要保留更新前後資料狀態,一方面可供人為確認,另一方面作為佐證。不過,要防止更新結果與預期不一致,除了靠...

最近又被 ODP.NET 版本問題搞得很煩。 故事是我有顆公用程式元件最近改版(假設名稱叫 MyLibrary.dll 好了),專案參照的 ODP.NET 已升級到 2.122.1.0。移交給同事使用時,同事的 ASP.NET 為配合其他元件仍在使用 ODP.NET 2.112.2.0,這種狀況下,...

使用者通報某網頁無法開啟,錯誤訊息為 SQL 查詢發生 Timeout,由錯誤行數推論查詢指令為單純的 SELECT * FROM MyTable WHERE PK = @id。進一步測試並確認問題只出在 MyTable 特定一筆,@id 換成其他值就是正常的。還有一點奇怪的地方,另一個網頁也是查詢...

過去在 IIS 跑 ASP.NET MVC 的同學,前進 ASP.NET Core 後會發現,在網站使用靜態檔案的做法跟以前很不一樣。 在 ASP.NET MVC4/5 專案中,靜態內容與程式檔案、.cshtml 是參雜在一起的,除了依習慣命名的 Content、Views、Models、Contr...

很久之前曾介紹過 OWIN - 微軟重新定義的開放網站介面標準,讓 ASP.NET WebAPI 跟 SignalR 不再侷限 IIS ( System.Web.dll),可輕鬆放進 Console Application / Windows Service 執行。而 OWIN 採取 Host/Se...

工作上某系統操作時需開啟附檔名為 .jnlp 的檔案,很顯然我的 Windows 10 不認得它。 爬文得知這是 Java 5.0 推出的一種程式部署技術 - Java Web Start,可隨時更新到最新版本並簡化安裝升級程序,聽起來很像微軟的 ClickOnce。 在有安裝 Oracle Ja...