Category: ASP.NET

用慣 SSH 金鑰免密碼登入 SSH/SFTP/SCP 後,就很難回去每次登入要敲密碼的日子~ (註:若覺得沒密碼少一道關卡不安心,還可加碼用實體金鑰) 若登入網站或呼叫 WebAPI 時也能比照辦理,那該有多好? SSH 的身分認證原理是在 ~/.ssh 目錄產生一組 Ed25519 公私鑰,id...

應用程式離線檔案(app_offline.htm) 是部署程式或暫時停用 ASP.NET / ASP.NET Core 常用的做法。IIS 在應用程式根目錄偵測到名為 app_offline.htm 的檔案(注意是 .htm 不是 .html),ASP.NET / ASP.NET Core 模組便會...

我習慣在 Linux 用 Nginx + Certbot 容器 跑個人用的對外網站,TLS 憑證靠自動排程從 Let's Encrypt 定期更新,由於已整理好 SOP 甚至有自動化腳本,幾分鐘便能搞定,差不多可做到 Fire and Forget,故成為我最常用的對外網站架構。 對於部落格之類的簡...

先說我的需求:我在 IIS 有個 HTML 靜態網頁,任務是載入資料檔 JSON 提供統計資料互動式查詢。當資料有更新,受限於防火牆無法用 SFTP、SCP 或網路資料夾直接更新,需靠 RDP 登入再複製貼上,一來麻煩,二來無法自動化。 近期更新頻率變高,對重複手工操作忍耐度極低的我,就想在 IIS...

在上篇文章我們以 .NET AIChatWeb 專案為基礎,將其轉為可上傳圖檔詢問任意問題的互動式 AI 聊天網站。 如要進一步擴充能力,我們可加入自訂的 Tool、Agent,甚至 Skill,賦與 LLM 模式自訂的特殊技能。事實上,AIChatWeb 原本具備的 RAG 文件檢索查詢功能,就僅...

前幾天介紹過用 .NET 的 AI 應用程式範本花兩分鐘生出 RAG 文件檢索網站,不少人好奇為什麼文章縮圖是紅色警戒 2 的基地車? 有玩過 RA2 的人 (換言之要年紀夠大的老人,年輕同學想體驗可以試試神人耗時五年復刻的網頁版) 都知道,遊戲開局只有一台基地車,先開到合適地點部署,轉成建造廠後...

過年前,想做一個拖拉檔案上傳,短期暫存方便跨主機交換檔案的小網站,嘗試用 Vibe Coding 方式進行,沒用到 Opus 高級模型,靠 Claude Sonnet 4.5 不到半小時就達到 FB 影片的完成度:自動刪除逾期檔案、檔案異動自動刷新、多瀏覽器間即時狀態同步、刪除時間倒數... 速度及...

前陣子介紹在 ASP.NET Core MVC 啟用 CSRF 防護的做法,今天說說實務上啟用後可能遇到的問題。 用上回說的 AJAX 呼叫範例示範,假設我們發現 JavaScript 送出的表單資料似乎有點問題,想用瀏覽器 F12 工具調查一下,結果... 來源頁籤顯示 Content unav...

防止 CSRF 攻擊已是網頁的資安基本要求,這個議題之前有討論過: ASP.NET MVC 防止 AJAX POST CSRF 攻擊 SPA + ASP.NET Core Minimal API 練習 - 實作 Windows 登入與 CSRF 防護 【茶包射手日記】網站在 localhost 測...

有個古老 ASP.NET WebForm 存在一個問題,使用者若按瀏覽器回上頁,可能會使用相同內容重複送出表單。(延伸閱讀:瀏覽器回上頁能回到表單送出前狀態的原理說明) 我寫了一個範例網頁重現問題,頁面使用經典的 TextBox、Button WebControl 輸入及控制,按鈕動作也遵循古法由 ...

前幾天試了更多確認刪除玩法,讀者 Chi-Kung Wen 留言再提到「刪除信件後,五秒內可以按【復原】取消刪除」的介面設計。 直覺要做不難,心中也約略有譜,想到最近沒什麼機會寫 ASP.NET Minimal API 都快生疏了,便撿起題目來個 Vue3 輕前端整合 ASP.NET Core 伸展...

多年前學會用 PowerShell 設定 IIS 網站,便逐步捨棄人工,把原本要開管理介面點滑鼠的部署修改操作都寫成 PowerShell 指令檔,需要部署或修改網站時,執行 .ps1,數十上百個步驟瞬間完成,一次要處理十幾台機器也不是問題,也不必擔心操作人員疲勞駕駛,眼花手滑出錯。體驗過 CLI ...

被問到冷門問題:使用 dotnet publish 發佈 ASP.NET Core 專案時有些會產生 refs 跟 runtimes 目錄有些不會,這兩個資料夾是做什麼用的? 好問題。這部分一直被我當成黑盒子,沒想過深入了解,評估屬於不知道也不會死的等級,但既然遇上了就當成天意,趁此機會搞清楚補充知...