恆知科技

恆知科技 資訊軟體 恆知用心.服務創新

25/07/2026

ASP.NET 中 Web Farm (架構) 與 Web Forms (框架) 區分

Web Farm (架構)
指硬體部署架構。為了分攤流量,使用兩台或以上的伺服器來執行同一個網站 (負載平衡 Load Balancing)。在此架構下必須手動統一 Machine Key。

Web Forms (框架)
指軟體開發框架。是微軟早期的網頁開發技術 (副檔名為 .aspx)。它大量依賴 ViewState,而 ViewState 就是靠 Machine Key 來加解密的。

2026.06.22 記述 -「PSQIS標案檢索及快查系統」V6.0.0.0 版本。1. 全面替換內部資料處理運作核心元件,大幅度提昇資料處理效率。2. 加強資料處理過程訊息顯示。恆知用心.服務創新
22/06/2026

2026.06.22 記述 -「PSQIS標案檢索及快查系統」V6.0.0.0 版本。
1. 全面替換內部資料處理運作核心元件,大幅度提昇資料處理效率。
2. 加強資料處理過程訊息顯示。

恆知用心.服務創新

22/06/2026

通用型:動態產生絕對網址 (ChgFullUrl)
適用於 WebForms、MVC 或一般 ASHX。這段程式碼能自動抓取伺服器的通訊協定 (HTTP/HTTPS) 與通訊埠 (Port),完美取代寫死的 http://或https:// 網址,並適用於圖片路徑、跳轉連結與 API 端點。

'''
''' 將相對路徑轉換為包含網域、Port與協定的絕對網址
'''
Private Function ChgFullUrl(ByVal p As String) As String
' 步驟 1:將傳入的路徑轉換為應用程式的相對路徑 (例如: /MyApp/Images/pic.jpg)
Dim relativeUrl As String = ResolveUrl(p)

' 步驟 2:動態取得目前的根目錄網址,自動包含 HTTP/HTTPS 與 Port (例如: https://www.example.com:8080)
Dim baseUrl As String = Request.Url.GetLeftPart(UriPartial.Authority)

' 步驟 3:組合並回傳
Return baseUrl & relativeUrl
End Function

' 【使用範例】
' 1. 圖片設定: imgAvatar.ImageUrl = ChgFullUrl("~/Images/user.png")
' 2. 網頁跳轉: Response.Redirect(ChgFullUrl("~/Home.aspx"))
' 3. API 回傳: Return "{ ""url"": """ & ChgFullUrl("~/api/data") & """ }"

18/06/2026
12/06/2026

IIS / ASP.NET Web Application 為主,當 HTTP Response Header 中出現 Server 或 X-Powered-By,可能揭露網站所使用的 Web Server、框架或技術,例如 IIS、ASP.NET、PHP、Express 等。雖然此資訊本身不一定構成直接入侵風險,但可能協助攻擊者快速判斷系統環境,進一步搜尋對應版本或平台的已知弱點。

修補建議
建議移除或隱藏以下 HTTP Response Headers:
Server
X-Powered-By
X-AspNet-Version
X-AspNetMvc-Version

IIS / ASP.NET 修補方式
web.config 範例



















02/06/2026

IIS 動態 IP 限制 (Dynamic IP Restrictions)

為了防止黑客使用工具進行阻斷服務(DDoS)或密碼暴力破解,IIS 內建了極其強大的「動態 IP 限制」功能。這對阻擋自動化腳本非常見效。














上述設定意味著「只要某個 IP 在 5 秒內發送超過 100 次請求,或者同時建立超過 20 個連線」,IIS 就會自動暫時封鎖該 IP。

「如何設定時間自動解除限制?」

答案是:不需要額外設定,IIS 預設就是「自動解除」的。

這是因為 dynamicIpSecurity 的運作邏輯是動態滑動時間視窗(Sliding Window),而不是像傳統防火牆那樣把 IP 丟進一個永久的黑名單。

時間區間(5 秒):IIS 會在記憶體中,為每個訪問的 IP 紀錄一個「5000 毫秒(5 秒)」的移動時間視窗。

觸發封鎖:當某個 IP 在連續的 5 秒內,請求次數超過 100 次,IIS 就會立刻對該 IP 執行 Abort(中斷連線)。

自動解除:一旦該 IP 停止攻擊/停止發送請求,隨著時間推移(過了 5 秒),它在 IIS 記憶體中的計數器就會歸零(或降到 100 以下)。這時候,該 IP 就不再符合封鎖條件,連線會自動恢復正常。

⚠️ 注意:如果該 IP 持續不斷地以高頻率狂刷網頁,它的計數器在每 5 秒內都會破百,那它就會「看起來被永久封鎖」。它必須「安靜下來」一小段時間,封鎖才會解除。

27/05/2026

Newtonsoft.Json 設定










PublicKeyToken:30ad4fe6b2a6aeed 是 Newtonsoft.Json 官方標準的 Token。

版本重導向:oldVersion="0.0.0.0-13.0.0.0" 導向 newVersion="13.0.0.0"。這代表所有小於或等於 13.0.0.0 的版本請求,都會強制導向 13.0.0.0。

技術細節:即使你安裝的是 Newtonsoft.Json 13.0.1、13.0.2、13.0.3 或 13.0.4 的 NuGet 套件,微軟編譯時產生的組件版本 (Assembly Version) 依然是固定為 13.0.0.0,因此這裡填 13.0.0.0 是完全正確且標準的做法。

15/05/2026

舊版 .NET 預設不使用 TLS 1.2。當伺服器當伺服器禁用 MD5 或 SHA-1 演算法後,舊版 .NET (4.5以下) 使用 HttpClient 發起對外 HTTPS 連線會遭遇 Handshake Failure, 對外連線會失敗。若無法修改程式碼重新編譯,可透過機碼強制 .NET 使用強加密連線。

# PowerShell 執行:強制 .NET 使用 OS 支援的最強 TLS
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value 1 -Type DWord

15/05/2026

觀念釐清:OS 層網路限制 ≠ 內部運算限制
當您透過 IIS Crypto (修改 Schannel) 停用 MD5/SHA-1 時,您關閉的是「透過這些演算法進行網路傳輸 (TLS協商)」的權限。

這不會移除 Windows 系統內建的密碼學運算引擎 (CNG/CryptoAPI)。因此,您的 .NET 程式碼呼叫 MD5.Create() 處理本地檔案或字串時,依然完全合法且正常運作。

15/05/2026

URL 安全轉換工具

Public Shared Function Base64ToUrl(ByVal base64Str As String) As String
If String.IsNullOrEmpty(base64Str) Then Return ""
Return base64Str.Replace("+", "-").Replace("/", "_").TrimEnd("="c)
End Function

Public Shared Function UrlToBase64(ByVal urlSafeStr As String) As String
If String.IsNullOrEmpty(urlSafeStr) Then Return ""
Dim s As String = urlSafeStr.Replace("-", "+").Replace("_", "/")
Select Case s.Length Mod 4
Case 2 : s &= "=="
Case 3 : s &= "="
End Select
Return s
End Function

Address

1F. , No. 7-3, Minsheng Road , Madou Township
Tainan
72145

Opening Hours

Monday 09:00 - 17:30
Tuesday 09:00 - 17:30
Wednesday 09:00 - 17:30
Thursday 09:00 - 17:30
Friday 09:00 - 17:30

Telephone

+88665710732

Website

Alerts

Be the first to know and let us send you an email when 恆知科技 posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Shortcuts

Share