Category: asp.net

ASP.NET Core 有個預設行為,開發測試階段會顯示錯誤細節,包含錯誤訊息、Stack Trace 等資訊;當部署到 IIS 後,就只會顯示告知狀態碼為 HTTP ERROR 500,以避免程式資訊外洩形成資安風險: 嚴譯的系統會設計 Log 機制補捉及記錄錯誤,提供介面查詢或是後送 ELK...

我的部落格這半年來不知為何被印尼的廣告留言廠商盯上,三不五時會跑來留一些印尼文垃圾留言(大多是吃角子老虎、線上賭場... 之類博弈類廣告,但有次是升學求職家教,跨度挺大),頻率一週一兩次,每次會隨機挑五六篇留言,每則間隔一兩分鐘,印尼文居多,但也看過一兩次英文版。 推測對方有花了點心思,破解掉我防...

密碼仍是當代最常用的身分識別方式,但密碼也是使用者跟系統管理的痛苦來源之一。密碼太短太簡單容易被猜中,太長太複雜記不住,忘記了要重設自己煩客服也煩;對系統管理者,密碼如燙手山芋,儲存得加鹽並慎選雜湊演算法才安全(延伸閱讀:密碼要怎麼儲存才安全?該加多少鹽?-科普角度)(當然隨便雜湊加密湊數,甚至直接...

前陣子專頁有篇貼文談到 WebAPI 出錯時,是否必須必須透過 HTTP Status 反映執行結果,例如:找不到時吐 404、系統出錯時回應 500?,得到不少回響,我也獲了新體悟。 我一直認為 WebAPI 是種 Contract,服務端與客戶端約定好,雙方都覺得 OK 就好。即便執行結果出錯,...

近年來,我日常寫 ASP.NET Core 網站的起手式都是先開 Minimal API 專案,功能不太複雜的話,單一 Program.cs 不到 200 行程式把功能寫完,用最少資源搞定,不含半點贅肉,符合我追求的極簡精神。 不過,當程式愈寫愈複雜,就得朝向前後端分離,建個 wwwroot 資料夾...

.js/.css 換版後,想防止網頁讀取 Cache 強迫改用新版,最無敵的做法是在網址加個 ?v=XXX 參數,每次換版一併更新,URL 參數不同讓原 Cache 失效,即可確保萬無一失。 但手工維護 ?v=... 參數意味著每次換版必須叫出所有引用該 .js/.css 的網頁,一一修改 URL ...

同事分享資安知識一則:在網頁引用 Host Header 可能形成資安弱點,給予攻擊者操作重新導向或引用惡意程式的機會。特筆記備忘。 使用 IIS + ASP.NET 示範如下: <%@Page Language="C#"%> <html> <...

雲端是當今顯學,基於保密及資安考量,許多企業還是會選擇在地端甚至網路隔離環境作業。微軟的版控解決方案 - TFS Server 的繼任者是 Azure DevOps Server,雖有 Azure 之名,但可在安裝在企業內部隔離網路環境,稱職扮演地端版控伺服器角色。 最近嘗試在 Azure DevO...

上篇文章 辛苦安裝完 AD FS,接下來試試 AD FS 跨界整合的威力。 AD FS 支援多種登入協定,包含 WS-FED、SAML-P、OAuth 等,但 OAtuh 已成當今業界標準,聚焦 OAuth 就好。AD FS 認證身分取得授權的 OAuth 流程有以下幾種: Implicit Gr...

工作上有個小需求,想找到簡便方法顯示網頁回應速度,方便快速擷圖對照改善前後的時間差異。 相關軟體很多,但我不想為此安裝程式,以既有工具優先;Chrome/Edge F12 開發者工具的網路功能也有每個 HTTP Request 的時間報表,是個不錯的選項: 不過,我想找到更簡單的 CLI 做法,貼...

週末啃完 David 老師「LINE BOT 與人工智慧辨別開發實戰」一書(再一次慢半拍,哈),依慣例筆記備忘。 先前寫過 LINE 機器人,平日也依賴 LINE Notify 發系統通報,嚴格來說我不算 LINE 程式開發生手。但相較於程式用到什麼查什麼學什麼的遊擊式學習,書籍課程提供較完整的知識...