2025-11-21 11:26 PM 2 577
前陣子介紹在 ASP.NET Core MVC 啟用 CSRF 防護的做法,今天說說實務上啟用後可能遇到的問題。 用上回說的 AJAX 呼叫範例示範,假設我們發現 JavaScript 送出的表單資料似乎有點問題,想用瀏覽器 F12 工具調查一下,結果... 來源頁籤顯示 Content unav...
2025-11-16 09:32 PM 6 2,556
防止 CSRF 攻擊已是網頁的資安基本要求,這個議題之前有討論過: ASP.NET MVC 防止 AJAX POST CSRF 攻擊 SPA + ASP.NET Core Minimal API 練習 - 實作 Windows 登入與 CSRF 防護 【茶包射手日記】網站在 localhost 測...
2025-10-06 09:40 AM 2 1,262
處理一枚 TLS 1.2 茶包,藉此釐清了一些 .NET Framework 版本觀念,筆記備忘。 故事是有個 ASP.NET MVC / .NET Framework 4.5.2 網站,WebClient 連某個 HTTPS 網址時出現典型的 基礎連接已關閉: 接收時發生未預期的錯誤 / 客戶端與...
2025-08-28 10:31 PM 1 1,116
有個古老 ASP.NET WebForm 存在一個問題,使用者若按瀏覽器回上頁,可能會使用相同內容重複送出表單。(延伸閱讀:瀏覽器回上頁能回到表單送出前狀態的原理說明) 我寫了一個範例網頁重現問題,頁面使用經典的 TextBox、Button WebControl 輸入及控制,按鈕動作也遵循古法由 ...
2025-07-07 08:41 PM 0 1,594
前幾天試了更多確認刪除玩法,讀者 Chi-Kung Wen 留言再提到「刪除信件後,五秒內可以按【復原】取消刪除」的介面設計。 直覺要做不難,心中也約略有譜,想到最近沒什麼機會寫 ASP.NET Minimal API 都快生疏了,便撿起題目來個 Vue3 輕前端整合 ASP.NET Core 伸展...
2025-04-25 11:11 PM 2 2,087
多年前學會用 PowerShell 設定 IIS 網站,便逐步捨棄人工,把原本要開管理介面點滑鼠的部署修改操作都寫成 PowerShell 指令檔,需要部署或修改網站時,執行 .ps1,數十上百個步驟瞬間完成,一次要處理十幾台機器也不是問題,也不必擔心操作人員疲勞駕駛,眼花手滑出錯。體驗過 CLI ...
2024-06-04 08:36 PM 0 1,170
同事報案:某古蹟 ASP.NET 3.5 Web Site Project 無法編譯噴出錯誤:aspnet_merge : error 1027: 這個網站是由舊版 ASP.NET 編譯而得的。請使用對應的舊版 aspnet_merge 來加以合併。 說法是上次用還是好的,沒做什麼今天就忽然不能用了...
2024-05-23 11:38 PM 0 1,601
被問到冷門問題:使用 dotnet publish 發佈 ASP.NET Core 專案時有些會產生 refs 跟 runtimes 目錄有些不會,這兩個資料夾是做什麼用的? 好問題。這部分一直被我當成黑盒子,沒想過深入了解,評估屬於不知道也不會死的等級,但既然遇上了就當成天意,趁此機會搞清楚補充知...
2024-04-28 09:06 AM 1 4,198
自從發現 ASP.NET Core Minimal API,我所有用到 ASP.NET Web 的小專案(小於一個人月)清一色都是用 Minimal API 寫,省去建 Controller,另開 MVC View 的麻煩,加上 UI 走 HTML + Vue.js 輕前端,小專案往往三五個檔案寫完...
2024-04-22 10:55 PM 2 4,390
OpenAPI 已成 Web API 的業界標準,背後有強大的生態體系,豐富的文件/程式碼產生器以測試工具,這些好處過去我已有所體會。(參考:再探 WebAPI 客戶端自動產生器 - AutoRest、NSwag 與 .NET 3.5 支援問題) 而隨著我的專案大多改用 ASP.NET Core M...
2024-02-29 04:55 PM 2 4,228
ASP.NET Core 有個預設行為,開發測試階段會顯示錯誤細節,包含錯誤訊息、Stack Trace 等資訊;當部署到 IIS 後,就只會顯示告知狀態碼為 HTTP ERROR 500,以避免程式資訊外洩形成資安風險: 嚴譯的系統會設計 Log 機制補捉及記錄錯誤,提供介面查詢或是後送 ELK...
2024-01-01 11:03 AM 8 2,342
前幾個星期入手 YubiKey,花了點時間研究 WebAuthn / CTAP2 規格,從 .NET FIDO2 程式庫的 Passwordless 與 Usernameless 範例弄懂 WebAuthn 無密碼登入與 Passkey 的差異,最後我打算整理一個 ASP.NET Core 整合 P...
2023-12-30 08:20 AM 10 2,564
我的部落格這半年來不知為何被印尼的廣告留言廠商盯上,三不五時會跑來留一些印尼文垃圾留言(大多是吃角子老虎、線上賭場... 之類博弈類廣告,但有次是升學求職家教,跨度挺大),頻率一週一兩次,每次會隨機挑五六篇留言,每則間隔一兩分鐘,印尼文居多,但也看過一兩次英文版。 推測對方有花了點心思,破解掉我防...
2023-12-14 10:20 PM 2 9,604
密碼仍是當代最常用的身分識別方式,但密碼也是使用者跟系統管理的痛苦來源之一。密碼太短太簡單容易被猜中,太長太複雜記不住,忘記了要重設自己煩客服也煩;對系統管理者,密碼如燙手山芋,儲存得加鹽並慎選雜湊演算法才安全(延伸閱讀:密碼要怎麼儲存才安全?該加多少鹽?-科普角度)(當然隨便雜湊加密湊數,甚至直接...
2023-12-09 07:38 AM 10 5,944
前陣子專頁有篇貼文談到 WebAPI 出錯時,是否必須必須透過 HTTP Status 反映執行結果,例如:找不到時吐 404、系統出錯時回應 500?,得到不少回響,我也獲了新體悟。 我一直認為 WebAPI 是種 Contract,服務端與客戶端約定好,雙方都覺得 OK 就好。即便執行結果出錯,...
2023-12-04 08:57 PM 0 2,216
近年來,我日常寫 ASP.NET Core 網站的起手式都是先開 Minimal API 專案,功能不太複雜的話,單一 Program.cs 不到 200 行程式把功能寫完,用最少資源搞定,不含半點贅肉,符合我追求的極簡精神。 不過,當程式愈寫愈複雜,就得朝向前後端分離,建個 wwwroot 資料夾...