如何在 .NET 工具程式安全儲存 API Key 設定
現代 API 服務大都是靠 API Key 管控存取權限及計算費用,因此貌似亂碼的 API Key 字串必須妥善保管,若是落入賊人之手,對方有可能看光你的資料、替你發文、幫你交易,或是大方享用服務由你買單。例如就有駭客鎖定 OpenAI 的會員服務,掃瞄 Github 原始碼用 "sk-*... Read More
View ArticleChatGPT 聊天程式練習 - 使用 .NET + Azure OpenAI API
半年過去,大家已學會平常心看待 ChatGPT,了解它的長處跟弱點,不再過度神化,什麼都問再靠北它瞎扯。我認為這才是面對 ChatGPT 的正確心態,認知到生成式 AI 的產出從來就不保證正確,需自負查核複檢之責,方能善用新科技提升競爭力,而不是亂用搞到可能飯碗不保。 現在才開始學寫 ChatGPT... Read More
View Article我的 Windows 新裝機 Chocolatey 安裝清單
近一年買了新主機跟開始玩 Azure,開 Hyper-V 或 Azure VM 裝 Windows 的頻率變高,裝好 OS 總有一堆基本工具要安裝,工作環境備妥才好做事。 體驗過 Linux agt/yum 跟 Chocolatey CLI 敲指令按 Enter 不必動滑鼠鍵盤程式便裝完程式的流暢,... Read More
View Article在 C# 使用 USB 實體金鑰加解密
用 .NET 程式加解密不是新鮮話題,但如果是用 .NET 程式整合 USB 實體金鑰加密資料,做到沒實體金鑰不知 PIN 碼就解不開,聽起來是不是就有點意思了? 土砲 USB 金鑰 Side Project 持續進行,產生及設定金鑰、使用 GPG 加解密、登入 SSH 都沒啥問題,下一步我想拿來做... Read More
View ArticleNginx Docker + SSH Tunneling 取代 ngrok 實現 Webhook 本機偵錯
LINE Bot 程式需要一個對 Internet 公開的 HTTPS URL 作為 Webhook 端點,以接收來自 LINE 聊天室的訊息、使用者回應及檔案。在開發偵測階段,我們通常是用 http://localhost:12345 這樣的本機隨機 Port 執行網站專案,每次都得先上傳雲端或對... Read More
View Article讀書筆記 - LINE BOT 開發實戰
週末啃完 David 老師「LINE BOT 與人工智慧辨別開發實戰」一書(再一次慢半拍,哈),依慣例筆記備忘。 先前寫過 LINE 機器人,平日也依賴 LINE Notify 發系統通報,嚴格來說我不算 LINE 程式開發生手。但相較於程式用到什麼查什麼學什麼的遊擊式學習,書籍課程提供較完整的知識... Read More
View Article再探 Windows 檔名不分大小寫陷阱 - .NET 處理對策
先幫沒踩過的同學補充這顆小地雷 - Windows 檔名不分大小寫阱陷。 我們都知道 Windows 的檔案系統不區分大小寫,對 Windows 來說,Logo_TW.png 跟 Logo_tw.png 是同一個檔案。因此,你無法在檔案總管將 Logo_TW.png 更名成 Logo_tw.png、... Read More
View Article在 CLI 簡易測量網頁回應時間
工作上有個小需求,想找到簡便方法顯示網頁回應速度,方便快速擷圖對照改善前後的時間差異。 相關軟體很多,但我不想為此安裝程式,以既有工具優先;Chrome/Edge F12 開發者工具的網路功能也有每個 HTTP Request 的時間報表,是個不錯的選項: 不過,我想找到更簡單的 CLI 做法,貼... Read More
View Article【茶包射手雜記】Azure DevOps Server ElasticSearch 記憶體上限問題
幫忙看了一起 Azure DevOps Server 主機剩餘記憶體不足發出告警的案例。(註:Azure DevOps Server 就是 TFS Server 啦,TFS 從 2019 版改名叫 Azure DevOps Server,雖有 Azure 之名,但可安裝在地端) 重新認識幾件事: ... Read More
View ArticleAD 跨界整合 - AD FS 服務安裝
最近頻頻聽到新名詞 - ADFS,腦中卻沒什麼概念,甚為惶恐,趕緊研究做點 Lab 壓壓驚。 AD FS 是 Active Directory Federation Service 的縮寫,用白話解釋,傳統印象中,原本只能企業內部限定 Windows 使用的 AD,透過 AD FS 可拓展到公司外... Read More
View ArticleAD 跨界整合 - 使用 AD 登入第三方網站
上篇文章 辛苦安裝完 AD FS,接下來試試 AD FS 跨界整合的威力。 AD FS 支援多種登入協定,包含 WS-FED、SAML-P、OAuth 等,但 OAtuh 已成當今業界標準,聚焦 OAuth 就好。AD FS 認證身分取得授權的 OAuth 流程有以下幾種: Implicit Gr... Read More
View ArticleAD 跨界應用 - 地端雲端 AD 整合 (Azure AD Connect Sync)
時至今日,企業必須使用雲端服務,或將應用程式部署到雲端供人員在外使用的情境日益普遍。服務存取需被控管,必然有帳號密碼及權限管理需求,整合企業既有 AD 帳號群組會比另建一套帳號系統省事有效率,但 AD 屬資安攻防的一級戰區,不宜貿然開發對外,設計應用時必須格外謹慎。 要讓 AD 同時支援企業內部及雲... Read More
View Article【茶包射手日記】NuGet 完全無法安裝套件
想在伺服器跑一下 Azure AD 登入程式範例,將本機的專案資料夾複製到 Windows Server,用 Chocolatey 安裝 dotnet-sdk、vscode(註:不少朋友問「何不 winget?」,winget 要從微軟商店安裝對 Server 不友善),Server 搖身變成 .N... Read More
View Article【茶包射手日記】無法使用 PowerShell 修改 ASP.NET 3.5 匿名存取
近年來設定 IIS 站台我都改用 PowerShell 指令操作(參考:再談 IIS 與 ASP.NET 網站自動安裝設定 - 使用 PowerShell),用指令檔取代 GUI 操作,能減少人為操作失誤風險,並邁向自動化部署的理想。 最近使用 Set-WebConfigurationPropert... Read More
View Article使用 gMSA 讓 Windows 排程與服務帳號更安全
前幾天研究 AD FS 有意外收獲,學到好東西 - gMSA,Group Managed Service Account。 Windows 服務或排程必須設定執行身分,若不需用 AD 認證存取遠端資源,可考慮使用 Local System、Local Service與Network Service ... Read More
View ArticlePowerShell 小工具 - 盤點 IIS 站台設定
遇到接手現有網站主機、網站搬家規劃等需求,我想要有個工具可以盤點 IIS 上設了哪些網站應用程式、對映哪些 AppPool、Runtime 是 .NET 2.0 還是 4.0、哪些目錄特別設了匿名或 Winodws 整合驗證、鎖哪些來源 IP... 等種種細節。 自己許願自己實現,決定寫個 Powe... Read More
View ArticleCoding4Fun - 我的 GPG 金鑰紙本備份解決方案
實體金鑰方便又安全,但前題是私鑰檔案必須妥善保管,一旦被偷走前功盡棄,白忙一場。存到離線媒體會比放在電腦硬碟安全,即便被人遠端控制或偷用電腦,也沒東西可偷。故在備份好金鑰並存入實體金鑰後,應該馬上將其從電腦中刪除,也要避免上傳到雲端,讓檔案從物理上與網路隔離以策安全。保管好除了避免被偷,還要確保資料... Read More
View Article七月鬼話:檔案總管有但 PowerShell 看不到的檔案
前幾天分享過用 PowerShell 盤點 IIS 站台設定的小技巧,同事回報說使用時遇到鬼問題:PowerShell 找不到 C:\Windows\System32\inetsrv\Config\applicationHost.config 但檔案總管明明有看到檔案也可開啟: 乍聽以為是權限問題... Read More
View Article古蹟維護雜記 - VS2022 無法建立 ASP.NET (.NET Framework) 專案
裝了最新版 VS2022,想建個 ASP.NET MVC (.NET Framework 4.X) 專案不得其門而入,輸入 ASP.NET 關鍵字,只見 ASP.NET Core 專案範本,沒看到 .NET Framework 版本:(VS2022 表示:那是啥?) 2023 年還在維護開發 .N... Read More
View Article初試 Azure DevOps Server Pipeline 地端編譯專案
雲端是當今顯學,基於保密及資安考量,許多企業還是會選擇在地端甚至網路隔離環境作業。微軟的版控解決方案 - TFS Server 的繼任者是 Azure DevOps Server,雖有 Azure 之名,但可在安裝在企業內部隔離網路環境,稱職扮演地端版控伺服器角色。 最近嘗試在 Azure DevO... Read More
View Article