2026年6月5日 星期五

[研究]Mend (WhiteSource) 又來第五次修改建議

[研究]Mend (WhiteSource) 又來第五次修改建議

2026-06-05


(完)

[研究]Mend (WhiteSource) 又來第四次修改建議

[研究]Mend (WhiteSource) 又來第四次修改建議

2026-06-05


(完)

[研究]Mend (WhiteSource) 建議錯誤,改錯程式了

[研究]Mend (WhiteSource) 建議錯誤,改錯程式了

2026-06-05


因為速度差異太大,所以沒用參數化查詢

原來是用迴圈組字串,每一個 T-SQL 字串某些變數是從資料庫撈出,所以每個字串的該變數值不同;

Mend 修改後,

while 迴圈後才把最終資料庫中值丟給變數,造成每個字串的該變數值都相同,執行結果錯誤。

(完)

[研究]Mend (WhiteSource) 弱點掃描工具結果是否不固定?

[研究]Mend (WhiteSource) 弱點掃描工具結果是否不固定? 

2026-06-05

Mend (WhiteSource) 弱點掃描工具結果是否不固定? 掃描時會即時自某些平台抓取弱點資訊 ? 或定時自某些平台抓取弱點資訊 ? 所以相同 原始碼專案,不同時間掃描結果可能不固定?

*****

是的,Mend(原 WhiteSource)相同原始碼專案在不同時間掃描,結果可能不完全相同,這是正常現象。

原因在於 Mend 的弱點資料庫會持續更新,而不是永遠固定不變。

例如:

時間專案版本結果
6/1log4j 2.17.0無漏洞
6/10log4j 2.17.0發現 1 個漏洞
6/20log4j 2.17.0發現 2 個漏洞
7/1log4j 2.17.0其中 1 個漏洞被撤銷

(完)

[研究]Mend (WhiteSource) 第三次建議修改了

[研究]Mend (WhiteSource) 第三次建議修改了

2026-06-05

已經照建議改過2次了,結果又來了第3次,每次都說有弱點 (雖然是 Low),都建議修改。

原本

if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri))


第1次建議修改為

if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri) && targetUri.IsAbsoluteUri && targetUri.Host == Request.Url.Host)


第2次建議修改為

if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri) && !targetUri.IsAbsoluteUri)

=====

Remediation Description

The code is vulnerable to an Open Redirect attack (CWE-601). Added a check to ensure that the URL is a local URL before redirecting.

第3次建議修改為

if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri) && !targetUri.IsAbsoluteUri && targetUri.ToString().StartsWith("/"))




********************************************************************************
問一下 AI,

第1版,這個條件其實邏輯矛盾:
UriKind.Relative代表只允許 Relative URI。
但後面又檢查:targetUri.IsAbsoluteUri
表示必須是 Absolute URI。
兩者通常不會同時成立。
等於:幾乎永遠是 False。

推測原因,可能是:
Mend 舊版規則誤判
自動修補 AI 產生錯誤建議
套用了「驗證 Host」的通用範本,但忘記調整 UriKind
這版其實不合理。

**********

第2版,
Open Redirect 最常見攻擊:
https://evil.com
//evil.com

如果只允許 Relative URI:
/Home.aspx
/Login.aspx
就不能跳到外部網站。

因此:
!targetUri.IsAbsoluteUri
是合理的。

但其實有點多餘,因為 UriKind.Relative 本來就已經要求 Relative。
所以:
&& !targetUri.IsAbsoluteUri
幾乎只是再次確認。

**********

第3版,
防止:
Login.aspx
../Admin.aspx
~/Home.aspx
這些相對路徑。

只允許:
/Default.aspx
/Account/Login.aspx

也就是:
Root Relative URL

**********

會不會又出現第 4 次修改?
有可能。
因為 Mend 並不是在理解你的商業邏輯,而是在套規則。

(完)

[研究]ASP.NET WebForm 的 Libman 會像 NuGet 判斷是否有新版 ? 相依性 ?

[研究]ASP.NET WebForm 的 Libman 會像 NuGet 判斷是否有新版 ? 相依性 ?

2026-06-05

因為有的前端js元件,NuGet沒有提供最新版,甚至不再提供更新了;而Libman有提供,故研究一下。

ASP.NET WebForm 的 Libman 會像 NuGet 判斷是否有新版 ? 相依性 ?

*****

不會,LibMan(Library Manager) 和 NuGet 的設計目標不同。

LibMan 會判斷是否有新版嗎?

部分可以,但能力有限。

{
  "provider": "cdnjs",
  "library": "jquery@3.7.1",
  "destination": "wwwroot/lib/jquery/"
}

在 Visual Studio 中管理 libman.json 時,可以看到目前安裝版本與可選版本,例如:

Visual Studio 可能提示有較新版本(如 3.7.2),但:

  • 不會像 NuGet 那樣完整分析更新影響
  • 不會顯示相依套件更新建議
  • 不會進行安全性弱點檢查
  • 不會自動解決版本衝突

本質上只是從 CDN 提供者(如 cdnjs、unpkg、jsDelivr)查詢可用版本。

**********

LibMan 會處理相依性(Dependency)嗎?

基本上不會。

例如:

{
  "library": "bootstrap@5.3.8"   
}

Bootstrap 可能需要:


bootstrap.min.css bootstrap.bundle.min.js

LibMan 只會下載你指定的檔案:


"files": [ "dist/css/bootstrap.min.css", "dist/js/bootstrap.bundle.min.js" ]

但不會:

  • 自動安裝 Popper
  • 自動安裝 jQuery(舊版 Bootstrap)
  • 自動解析 NPM package dependency tree
  • 自動處理版本衝突

這些都是 NuGet 或 NPM 的工作。

**********

NuGet 與 LibMan 差異

功能 LibMan NuGet
下載前端 JS/CSS 可但不建議
下載 .NET DLL
相依性解析
版本衝突檢查
安全性弱點分析
自動升級相依套件
Package Graph
transitive dependency

ASP.NET WebForm 專案中常見的第三方前端元件管理方式比較:

項目 LibMan NuGet NPM
主要用途 下載前端 JS/CSS 檔案 管理 .NET 套件 管理前端套件
適合 WebForm ★★★★★ ★★★★☆ ★★☆☆☆
需安裝 Node.js
Visual Studio 原生支援 部分
自動下載相依套件
相依性衝突檢查
版本管理能力 基本 完整 完整
可查看可升級版本 部分
套件鎖定版本
支援 Transitive Dependency
支援 Semantic Version 有限
安全性弱點分析
Dependency-Track 掃描 較差 良好 良好
Mend/WhiteSource 掃描 較差 良好 良好
離線建置 需先下載
學習門檻
維護成本

範例

需求 LibMan NuGet NPM
安裝 jQuery jquery@3.7.1 Install-Package jQuery npm install jquery
安裝 Bootstrap bootstrap@5.3.x Install-Package bootstrap npm install bootstrap
自動安裝相依套件
更新指令 手動修改版本 Update-Package npm update

實務建議

情境 建議
傳統 ASP.NET WebForm 維護案 LibMan 或 NuGet
公司要求 SCA(Mend、DT)完整掃描 NuGet 優先
新開發且有前端工程流程 NPM
只想放 jQuery、Bootstrap 幾個檔案 LibMan 最簡單
需要完整相依性管理與弱點追蹤 NuGet 或 NPM

若 WebForm 專案需要通過 OWASP Dependency-Track 或 Mend 稽核,我通常會建議:

類型 建議
.NET 元件 NuGet
JavaScript/CSS 元件 NPM(最佳)或 NuGet
LibMan 僅作為靜態檔案下載工具,不建議作為企業級元件管理機制

因為 LibMan 本質上只是把檔案下載到專案中,對於弱點追蹤、SBOM、相依性分析都遠不如 NuGet 或 NPM。

(完)

[研究]OWASP Dependency Track (DT) 元件弱點掃描工具結果是否不固定

[研究]OWASP Dependency Track (DT) 元件弱點掃描工具結果是否不固定

2026-06-05

OWASP Dependency Track (DT) 元件弱點掃描工具,掃描時會即時自某些平台抓取元件弱點資訊 ? 或定時自某些平台抓取元件弱點資訊 ? 所以相同 原始碼專案,不同時間掃描結果可能不固定?

*****

是的,OWASP Dependency-Track(DT)對同一套原始碼、同一份 BOM(SBOM),在不同時間掃描,結果可能不同,這是正常現象。

Dependency-Track 本身不會在每次掃描時即時到各弱點平台查詢,而是透過背景工作(Background Tasks)定期同步弱點資料庫,之後再將已同步的弱點資料與您的元件進行比對。

DT 主要弱點來源

常見來源包括:

  • National Vulnerability Database(NVD)
  • GitHub Security Advisories(GHSA)
  • Sonatype OSS Index
  • VulnDB(商業資料庫)
  • 其他生態系專屬 Advisory Database

DT 的運作方式

一般流程:


NVD / GHSA / OSS Index ↓ 定期同步 ↓ Dependency-Track 內部資料庫 ↓ 比對您的 SBOM ↓ 產生弱點報告

因此:

  • 掃描時通常不會逐一連線到 NVD 查詢
  • 而是使用 DT 已同步到本機資料庫的弱點資訊
  • 弱點資料會依設定定期更新(例如每小時、每天等)


為什麼相同專案結果會變化?

即使原始碼完全沒改,也可能出現:

1. 新 CVE 公布

例如:


2026/06/01 log4j 2.20.0 沒有弱點 2026/06/05 新增 CVE-2026-xxxxx 重新分析後 出現 Critical

專案沒變,但弱點資料庫變了。


2. CPE 比對規則修正

NVD 或 DT 的 Matching 規則可能更新。

例如原本:


jackson-databind ↓ 無法對應 CPE ↓ 0 個弱點

後來:


jackson-databind ↓ 成功對應 CPE ↓ 新增 5 個 CVE


3. CVSS 分數變動

某 CVE 可能被重新評分:


High 7.5 ↓ Critical 9.8

掃描結果的風險等級就會改變。


4. GHSA / OSS Index 新增 Advisory

有些弱點先出現在 GHSA:


Day 1 無弱點 Day 7 GHSA 發布公告 DT 更新資料後 出現弱點

甚至 NVD 還沒收錄。


5. BOM 解析器升級

Dependency-Track 或 BOM Parser 升級後:

  • 識別出更多元件
  • Package URL (PURL) 解析更準確
  • CPE Mapping 改善

結果也可能增加或減少弱點。


結論

對於 Dependency-Track:

情況 掃描結果是否可能改變
原始碼相同
套件版本相同
BOM 相同
DT 弱點資料庫更新 會改變
NVD/GHSA 新增 CVE 會改變
CPE Mapping 修正 會改變
DT 升級 可能改變

因此在實務上:

Dependency-Track 的掃描結果代表「目前已知的弱點狀態」,而不是「建立 SBOM 當時的弱點狀態」。

所以同一個專案今天掃描是 10 個弱點,一個月後重新分析可能變成 15 個,也可能因誤判修正而變成 8 個,這都屬於正常現象。

(完)

2026年6月4日 星期四

[研究]sa帳號可以刪除嗎 ? (SQL Server 2019)

[研究]sa帳號可以刪除嗎 ? (SQL Server 2019)

2026-06-04





Principals (Database Engine)
https://learn.microsoft.com/en-in/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-ver17
The sa login can't be dropped, but it can be disabled so that no one can use it.
sa 登入不能刪除,但可以停用,這樣就沒人能用了。

sp_droplogin
https://documentation.help/tsqlref/ts_sp_drop_2q0e.htm
A login mapped to an existing user in any database cannot be removed. The user must be removed first by using sp_dropuser. Additionally, these logins cannot be removed:
* The system administrator (sa) login.

已對應到任何資料庫中現有使用者的登入名稱無法刪除。必須先使用 sp_dropuser 刪除該使用者。此外,以下登入名稱也無法刪除:
* 系統管理員 (sa) 登入名稱。


結論:sa 可以改名、停用,但刪除不掉。

(完) 

[研究]administrator帳號可以刪除嗎? (Windows Server 2025)

[研究]administrator帳號可以刪除嗎? (Windows Server 2025)

2026-06-04

有人說,為了安全,另外建系統管理員帳號,把預設的administrator帳號刪除吧。

能停用,不等於可以刪除;能刪除,也未必保證系統能正常;不管如何,測試看看。

(1)以 administrator 帳號登入,刪除自己。








(2)以 admin1帳號 (屬於 Administrators 群組) 登入,刪除 administrator 帳號。







結論,作業系統直接拒絕刪除 administrator 帳號。

********************************************************************************

本機帳戶

https://learn.microsoft.com/zh-tw/windows/security/identity-protection/access-control/local-accounts

預設的本地使用者帳號

預設的本地使用者帳號是作業系統安裝時自動建立的內建本地使用者帳號。 你無法移除或刪除預設的本地使用者帳號。


系統管理員

你無法刪除或鎖定預設的管理員帳號。 不過,你可以重新命名或停用它。

********************************************************************************

(完)

2026年6月3日 星期三

[研究]ASP.NET WebForm 方案,搜尋甚麼字串 可知有使用 js.cookie 套件 ?

[研究]ASP.NET WebForm 方案,搜尋甚麼字串 可知有使用 js.cookie 套件 ?

2026-06-03

NuGet 只到 2.2.1 版
https://www.nuget.org/packages/js-cookie/3.0.0-rc1#versions-body-tab

GitHub到 3.0.8 版
https://github.com/js-cookie/js-cookie/releases

ASP.NET WebForm 方案,搜尋甚麼字串 可知有使用 js.cookie 套件 ?

******

快速判斷是否有使用 js-cookie 套件,可以搜尋以下幾類關鍵字。

1. 搜尋 Cookies.(最有效)

js-cookie v2/v3 最常見用法:


Cookies.set(...) Cookies.get(...) Cookies.remove(...) Cookies.getJSON(...)

直接搜尋:


Cookies.   

或個別搜尋:


Cookies.set( Cookies.get( Cookies.remove(

例如:


Cookies.set('UserName', 'Tom'); var user = Cookies.get('UserName'); Cookies.remove('UserName');


2. 搜尋 js.cookie

很多專案會直接引用檔案名稱:


<script src="/Scripts/js.cookie.min.js"></script>   
或:
<script src="/Scripts/js.cookie.js"></script>

搜尋:js.cookie


3. 搜尋 CDN 路徑

常見引用:


https://cdn.jsdelivr.net/npm/js-cookie https://cdnjs.cloudflare.com/ajax/libs/js-cookie

搜尋:


js-cookie 或: cdn.jsdelivr


4. 搜尋 NuGet / LibMan 安裝痕跡

packages.config

可能有:


<package id="js-cookie" version="3.0.5" />   

搜尋:js-cookie


libman.json可能有


{ "library": "js-cookie@3.0.5" }

搜尋:js-cookie


5. 搜尋實體檔案名稱

在 Visual Studio 的「搜尋檔案」或檔案總管搜尋:


js.cookie.js js.cookie.min.js

常見位置:


/Scripts/js.cookie.js /Scripts/js.cookie.min.js /lib/js-cookie/js.cookie.min.js


6. 搜尋 BundleConfig

Web Forms/MVC 專案可能透過 Bundle 載入:


bundles.Add( new ScriptBundle("~/bundles/common") .Include( "~/Scripts/js.cookie.min.js" ));

搜尋:js.cookie 或:cookie.min.js


7. 注意可能的誤判

有些專案沒有用 js-cookie,而是原生 Cookie:


document.cookie = "UserName=Tom";   
或:
var cookie = document.cookie;

這種情況搜尋:document.cookie即可找到。

建議在整個 Solution 搜尋

依序搜尋:


Cookies. js-cookie js.cookie document.cookie

其中 Cookies. 通常是判斷專案是否使用 js-cookie 套件最快、最準確的關鍵字。因為 js-cookie 的 API 幾乎都透過全域物件 Cookies 呼叫。

(完)

2026年6月1日 星期一

[研究]Mend (WhiteSource) 建議修改的,又建議改回

[研究]Mend (WhiteSource) 建議修改的,又建議改回

2026-06-01


(完)

[研究]Mend (WhiteSource) 硬把組字串查詢轉成參數化查詢,導致結果錯誤

[研究]Mend (WhiteSource) 硬把組字串查詢轉成參數化查詢,導致結果錯誤

2026-06-01

雖然組字串查詢在資安角度並不推薦,源碼掃描都會報告出來,因為掃描工具無法判斷來源是否安全;但因此段是2分鐘和3小時差異,且來源是資料庫 (若不安全,該先檢討寫入資料庫那段);Mend 硬拆開,在 while 迴圈後 AddWithValue,結果插入的每一筆值都相同,是錯誤的。


(完)

2026年5月29日 星期五

[研究]Mend (WhiteSource) 出現 Remediation could not be generated, please try again later.

[研究]Mend (WhiteSource) 出現 Remediation could not be generated, please try again later.

2026-05-29



(完)

2026年5月26日 星期二

[研究]LibreOffice 對 .odt 有類似 MS Word 的編修模式可用 ?

[研究]LibreOffice 對 .odt 有類似 MS Word 的編修模式可用 ?

2026-05-26

LibreOffice 對 .odt 有類似 MS Word 的編修模式可用 ?

*****

有。LibreOffice Writer 對 .odt 原生支援「追蹤修訂/編修模式」(Track Changes),功能類似 Microsoft Word 的「追蹤修訂」。

常用功能:

  • 開啟編修模式:編輯(Edit) → 追蹤修訂(Track Changes) → 記錄(Record)
  • 顯示修訂痕跡:編輯 → 追蹤修訂 → 顯示(Show)
  • 接受/拒絕修訂:編輯 → 追蹤修訂 → 管理(Manage),可逐筆接受、拒絕、查看作者與時間。
  • 支援內容
    • 文字新增/刪除
    • 格式變更
    • 表格修改
    • 註解(Comment)


而且 .odt 是 OASIS OpenDocument 格式的原生格式,因此:

  • LibreOffice + .odt
  • Apache OpenOffice + .odt

通常比 Word 開 .odt 時的相容性更完整。

你前面遇到的情況:Word 開 .odt,存檔後「編修模式」關掉、修訂消失

這是因為 Word 對 ODT 的追蹤修訂支援不完整。Word 的追蹤修訂主要是針對 .docx 設計;開放/儲存 .odt 時,部分修訂資訊可能無法完整保存。

因此若需要:

  • 長期使用 .odt
  • 保留完整修訂紀錄
  • 多人協作編修

比較建議:

  • 使用 LibreOffice Writer 編輯 .odt
  • 或改用 .docx 搭配 Word。

(完)

[研究]Word 2019對.odt開啟「編修模式」問題

[研究]Word 2019對.odt開啟「編修模式」問題

2026-05-26

用 Word 2019 開啟 .odt,開啟「編修模式」,編輯可以看到「編修模式」的痕跡,存檔,再開啟,「編修模式」處於關閉狀態,也沒任何編修痕跡,不支援?

****

是的,這是 .odt 與 Word「追蹤修訂 / 編修模式」相容性的限制之一。

在 Microsoft Word 中:

  • 開啟 .odt(OpenDocument Text)後
  • 你仍然可以按「校閱 → 追蹤修訂」
  • 編輯時畫面上也會暫時出現修訂痕跡

但是:

  • 存成 .odt
  • 關閉再重新開啟後

通常會出現:

  • 「追蹤修訂」被自動關閉
  • 修訂記錄消失
  • 文件只剩最終結果

這代表:

Word 對 .odt 的「追蹤修訂」並非完整支援。

原因是:

.odt 是 OASIS Open 的 OpenDocument 格式,而 Word 的追蹤修訂功能原本是針對 .docx 設計。

雖然 ODT 規格本身其實有變更追蹤(change tracking)能力,但:

  • Word 對 ODT 的支援屬於「相容模式」
  • 並非所有 Word 功能都能完整映射到 ODT

尤其:

  • 追蹤修訂
  • 部分註解
  • SmartArt
  • VBA
  • 複雜版面
  • 某些欄位功能

都可能遺失或降級。

因此你看到的現象是正常的。

一般會有幾種情況:

格式 Word 追蹤修訂
.docx 完整支援
.odt 部分支援/可能遺失
.rtf 更弱
.txt 不支援

如果需要:

  • 保留編修痕跡
  • 法務審閱
  • 多人校稿
  • 稽核證據
  • ISO 文件修訂歷程

建議:

  • 使用 .docx
  • 不要用 .odt

尤其跨版本、跨軟體(例如 LibreOffice、Apache OpenOffice)時,更容易遺失修訂資訊。

另外:

Word 開啟 .odt 時,標題列若出現:

  • 「相容模式」
  • 「OpenDocument Text」

通常就表示部分功能可能受限。

(完)

2026年5月25日 星期一

[研究]Windows Update 更新失敗080242fff 之解決

[研究]Windows Update 更新失敗080242fff 之解決

2026-05-25



以系統管理員於「命令提示字元」執行

Dism.exe /Online /Cleanup-Image /Restorehealth
Sfc.exe /Scannow

執行成功,但Windows Update仍失敗。

****

WindowsUpdateClen.bat

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
del /f /q /s C:\Windows\SoftwareDistribution
del /f /q /s C:\Windows\System32\CatRoot2
net start wuauserv
net start cryptSvc
net start bits
net start msiserver


成功。



(完)

[研究]領據(收據) 上的人名,沒有聯絡資電話、Email,只有單位、人名,算個資 ?

[研究]領據(收據) 上的人名,沒有聯絡資電話、Email,只有單位、人名,算個資 ?

2026-05-25

ChatGPT

通常 算個人資料(個資)。

依臺灣 個人資料保護法 的概念,「個人資料」不一定要有電話、Email、身分證字號才算。只要資料能:

  • 直接識別 特定自然人
  • 間接識別 特定自然人

就可能屬於個資。

例如領據/收據上有:

  • 單位名稱
  • 姓名
  • 簽名
  • 職稱
  • 印章
  • 金額
  • 日期

其中只要能 reasonably 對應到某個人,通常就已經屬於個資。

例如:

  • 「王小明」+「XX公司資訊部」
  • 「陳OO」+「某學校總務處」
  • 「林小姐」+簽名

即使沒有電話與 Email,仍可能可以辨識出是誰。

但有一些情況會比較模糊:

  • 只有很常見姓名(例如「陳俊宏」)
  • 沒有單位、沒有其他資訊
  • 無法合理辨識是哪位自然人

這種可能會降低「可識別性」。

另外要注意:

  • 「公司名稱」本身不是個資(法人資料)
  • 但「公司+特定員工姓名」通常就可能變成個資

實務上,很多機關與企業會把領據上的:

  • 姓名
  • 簽名
  • 員工編號
  • 帳號後幾碼

都視為個資處理。

所以你的情境:

領據(收據) 上只有「單位、人名」,沒有聯絡電話、Email

多數情況下,仍建議視為個資。

(完)

[研究]Adobe Acrobat Reader 多國語言版是否只安裝一種語言?

[研究]Adobe Acrobat Reader 多國語言版是否只安裝一種語言?

2026-05-25

AcroRdrDCx642500121288_MUI.exe 安裝時,會否安裝多國語言,還是會根據 Windows 作業系統語系自動選擇只安裝一種語系?

*****

線上安裝版下載網址 (單一語言版)
https://get.adobe.com/tw/reader/


離線安裝版下載網址 (單一語言版 x86,多國語研 MUI 版 x86 和 x64 版)

https://get.adobe.com/tw/reader/



*****

AcroRdrDCx642500121288_MUI.exe 中的 MUI 就是 Multilingual User Interface(多國語言介面) 的意思。

它不是只含單一語系,而是包含多種語言資源。

一般情況下:

  • 安裝程式會依照目前 Windows 的顯示語言,自動選擇預設 UI 語言
  • 但實際上,多國語系資源通常已一起安裝
  • 安裝後可在 Adobe Reader 內切換語言(若該語系資源存在)

例如:

  • Windows 繁體中文 → Reader 預設顯示繁體中文
  • Windows 日文 → Reader 預設顯示日文
  • Windows 英文 → Reader 預設顯示英文

Adobe 官方文件明確提到:

  • MUI 安裝版支援同時安裝多種語言
  • 會「自動依作業系統語言選擇介面語言」

另外:

  • _MUI.exe 是「全語系版」
  • en_US.exe、de_DE.exe、zh_TW.exe 這類則是「單一語系版」

因此:

安裝檔特性
AcroRdrDCx642500121288_MUI.exe多國語系版,會依 Windows 自動選語言
AcroRdrDCx642500121288_en_US.exe僅英文版
AcroRdrDCx642500121288_zh_TW.exe僅繁體中文版

你這個 MUI 安裝檔通常比較適合:

  • 企業部署
  • 多語系 Windows 環境
  • 不確定使用者語系
  • SCCM / Intune / GPO 派送

而且 Adobe 官方現在的 64-bit Reader 幾乎主推 MUI Unified Installer。

(完)

[研究]Paloalto防火牆的 application查詢網站

[研究]Paloalto防火牆的 application查詢網站

2026-05-25

Paloalto防火牆的 application查詢網站,可以查 Default Port 號。

https://applipedia.paloaltonetworks.com/?search=

Click 可以看到 100% 圖片



(完)

2026年5月19日 星期二

[研究]OpenText 產品生命週期 (OpenText Product Support Lifecycle)

[研究]OpenText 產品生命週期 (OpenText Product Support Lifecycle)

2026-06-19

OpenText 產品生命週期 (OpenText Product Support Lifecycle)

https://www.microfocus.com/lifecycle/#

Product ReleaseCurrent Maintenance End DateLatest ReleaseCurrent Maintenance End Date of Latest ReleaseImportant and useful information
Fortify Audit Assistant 25.1.028 Feb 2027None – replacement product is Core SAST Aviator (SaaS)28 Feb 2029End of sale. Succeeded by Core SAST Aviator. Contact sales to learn more.
Fortify Audit Assistant 24.431 Oct 2026
Fortify Audit Assistant 24.331 Jul 2026
Fortify Audit Assistant 24.231 May 2026
Fortify Static Code Analyzer 24.430 Nov 2026OpenText™ Static Application Security Testing (Fortify) 26.230 Apr 2028OpenText™ Static Application Security Testing (Fortify) 26.2 is scheduled for release in the second quarter of 2026
Fortify Static Code Analyzer 24.230 Jun 2026
Security Fortify Premium Edition Suite 24.430 Nov 2026
Security Fortify Premium Edition Suite 24.230 Jun 2026
OpenText™ Static Application Security Testing (Fortify) 25.230 Apr 2027
Fortify USGovt Assessment Edition Suite 24.430 Nov 2026
Fortify USGovt Assessment Edition Suite 24.230 Jun 2026
Fortify Scanner 24.430 Nov 2026OpenText™ Static Application Security Testing (Fortify) 26.2
OpenText™ Dynamic Application Security Testing 26.2
Suite of these two products
  
Fortify Scanner 24.230 Jun 2026  
Security Fortify for Managed Service Provider On Premise 24.430 Nov 2026  
Security Fortify for Managed Service Provider On Premise 24.230 Jun 2026  
Security Fortify Ultimate Edition suite 24.430 Nov 2026  
Security Fortify Ultimate Edition Suite 24.230 Jun 2026  
Security Fortify Express Edition Suite 24.430 Nov 2026  
Security Fortify Express Edition Suite 24.230 Jun 2026  
WebInspect 24.430 Nov 2026WebInspect 25.431 Dec 2027OpenText™ WebInspect 26.2 is scheduled for release in the second quarter of 2026
WebInspect 24.230 Jun 2026


(完)

2026年5月17日 星期日

[研究]VMware Workstation Pro 26H1 於 2026/05/14 釋出

[研究]VMware Workstation Pro 26H1 於 2026/05/14 釋出

2026-05-17

VMware Workstation Pro 26H1 Release Notes
https://techdocs.broadcom.com/us/en/vmware-cis/desktop-hypervisors/workstation-pro/26H1/release-notes/vmware-workstation-pro-26h1-release-notes.html
VMware Workstation Pro 26H1 | 14 MAY 2026 | Build 25388281

VMware-Workstation-Full-26H1-25388281.exe
274 MB (287,670,872 位元組)

Added support for guest and host operating systems.

Guest operating systems

  • Ubuntu 26.04 LTS
  • Fedora 43
  • Fedora 44
  • SUSE Linux Enterprise 16
  • openSUSE 16.0
  • FreeBSD 15.0

Host operating systems

  • Ubuntu 26.04 LTS
  • Fedora 43
  • Fedora 44
  • SUSE Linux Enterprise 16 GA
  • openSUSE 16.0

官方下載 Broadcom Support Portal
https://access.broadcom.com/default/ui/v1/signin/

(完) 


2026年5月14日 星期四

[研究]Mend(WhiteSource)隔天出現新增的修改建議

[研究]Mend(WhiteSource)隔天出現新增的修改建議

2026-05-14

畢竟 Mend 是雲端 Internet 上的系統。但是又給了使用不存在  IsLocalUrl 錯誤的建議。


[研究]Mend(WhiteSource) 建議使用不認得的 IsLocalUrl
https://shaurong.blogspot.com/2026/05/mendwhitesource-islocalurl.html

(完)

[研究]ASP.NET WebForm 網站下載.odt檔案失敗

[研究]ASP.NET WebForm 網站下載.odt檔案失敗

2025-05-13

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20.2

就算 GCB允許了 .odt 仍是失敗。

下圖,測試機上

下圖,開發機上



********************************************************************************



HTTP 錯誤 404.3 - Not Found

因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁。如果此網頁為指令碼,請新增處理常式,而且如果它是應該要下載的檔案,請新增 MIME 對應。

最有可能的原因:

  • 可能是缺少處理常式對應。根據預設,靜態檔案處理常式會處理所有內容。
  • 您嘗試使用的功能可能尚未安裝。
  • 並未針對網站或應用程式啟用適當的 MIME 對應 (警告: 使用者不應下載的內容,例如 .ASPX 網頁或 .config 檔,請勿為其建立 MIME 對應)。
  • 是否沒有安裝 ASP.NET。

解決方法:

  • 在 system.webServer/handlers 中:
    • 確定目前網頁的預期處理常式已對應。
    • 切記先決條件 (例如 runtimeVersion、pipelineMode、bitness),並比較這些條件與您應用程式集區的設定。
    • 切記所需處理常式行中的拼字錯誤。
  • 確認已安裝所要嘗試使用的功能。
  • 確認已啟用 MIME 對應,或使用命令列工具 appcmd.exe 新增網站的 MIME 對應。
    1. 若要設定 MIME 類型,可以使用下列語法: %SystemRoot%\windows\system32\inetsrv\appcmd set config /section:staticContent /+[fileExtension='string',mimeType='string']
    2. fileExtension 字串變數為副檔名,mimeType 字串變數則為檔案類型描述。
    3. 例如,要對副檔名為 ".xyz" 的檔案新增 MIME 對應: appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']
    警告: 務必先確認您的網頁伺服器需要此 MIME 對應,再將它新增至清單中。 設定檔案 (如 .CONFIG) 或動態指令碼處理網頁 (如 .ASP 或 .ASPX) 不應直接下載,且務必透過處理常式處理。其他檔案 (例如,資料庫檔案或用來儲存設定的檔案 .XML 或 .MDF) 有時會用來儲存設定資訊。啟用之前,務必先判定用戶端是否可以下載這些檔案類型。
  • 安裝 ASP.NET。
  • 建立追蹤規則以追蹤此 HTTP 狀態碼的失敗要求。如需針對失敗的要求建立追蹤規則的詳細資訊,請按一下 這裡

詳細錯誤資訊:

模組   StaticFileModule
通知   ExecuteRequestHandler
處理常式   StaticFile
錯誤碼   0x80070032
要求的 URL   https://(略).odt
實體路徑   D:\(略).odt
登入方法   匿名
登入使用者   匿名

詳細資訊:

如果所要求 URL 的副檔名屬於 MIME 類型,但是伺服器上未設定 MIME 類型,便會發生此錯誤。您可以為非動態指令碼處理網頁、資料庫或設定檔案的副檔名新增 MIME 類型。請使用處理常式處理這些檔案。請勿允許直接下載動態指令碼處理的網頁、資料庫或設定檔案。

檢視詳細資訊 »


ChatGPT (以下敝人尚未實際測試)

通常代表:

  • IIS 不認識 .odt
  • 沒有設定 MIME Type
  • IIS 不允許下載此副檔名

.odt 正確 MIME Type 通常是:

application/vnd.oasis.opendocument.text


IIS 解法

方法 1:IIS Manager 設定 MIME Type(建議)

進入:IIS Manager→ 網站→ MIME Types→ Add

新增:

副檔名 MIME Type

.odt application/vnd.oasis.opendocument.text

方法 2:Web.config

ASP.NET WebForm 常用。

在:

<system.webServer>

加入:


<staticContent> <mimeMap fileExtension=".odt" mimeType="application/vnd.oasis.opendocument.text" /> </staticContent>

完整範例:


<configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".odt" mimeType="application/vnd.oasis.opendocument.text" /> </staticContent> </system.webServer> </configuration>

********************************************************************************

2026-05-14 補

測試成功,.odt 可以下載了。

(完)

[研究]Mend(WhiteSource)建議隔天又變更

[研究]Mend(WhiteSource)建議隔天又變更

2026-05-14



原本


if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri))

Mend第1次建議(昨天)


if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri) && targetUri.IsAbsoluteUri && targetUri.Host == Request.Url.Host)

Mend認為昨天的建議仍有問題,今天第2次建議


if (Uri.TryCreate(redirect, UriKind.Relative, out Uri targetUri) && !targetUri.IsAbsoluteUri)

畢竟 Mend 是雲端 Internet 上的系統,隨時可能有變化。

(完)

2026年5月13日 星期三

[研究]SixLabors.ImageSharp.3.1.12 -> SixLabors.ImageSharp.4.0.0升級測試

[研究]SixLabors.ImageSharp.3.1.12 -> SixLabors.ImageSharp.4.0.0升級測試

2025-05-13

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20.2

********************************************************************************



已開始建置... 1>------ 已開始建置: 專案: WebApplication1, 組態: DeployToDev Any CPU ------ 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: "ValidateLicenseTask" 工作發生未預期的失敗。 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. 系統找不到指定的檔案。 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: 檔案名稱: 'System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: 於 SixLabors.Licensing.ValidateLicenseTask.Execute() 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: 於 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: 於 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: WRN: Assembly binding logging is turned OFF. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: Note: There is some performance penalty associated with assembly bind failure logging. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.ImageSharp.4.0.0\build\SixLabors.ImageSharp.targets(27,5): error MSB4018: 2>------ 略過的發佈: 專案 WebApplication1, 組態: DeployToDev Any CPU ------ 2> ========== 建置: 0 成功、1 失敗、0 最新、0 略過 ========== ========== 發佈: 0 成功、0 失敗、1 略過 ==========


(完)

相關

[研究]SixLabors.Fonts.1.0.1 -> SixLabors.Fonts.3.0.0升級測試

[研究]SixLabors.Fonts.1.0.1 -> SixLabors.Fonts.3.0.0升級測試 

2025-05-13

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20.2

********************************************************************************

Visual Studio 2019 用 NuGet 升級


SixLabors.Fonts.1.0.1 -> SixLabors.Fonts.3.0.0


編譯 (Compile/Build)


已開始重建... 1>------ 已開始全部重建: 專案: OSGWebApplication, 組態: Debug Any CPU ------ 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: "ValidateLicenseTask" 工作發生未預期的失敗。 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. 系統找不到指定的檔案。 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: 檔案名稱: 'System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: 於 SixLabors.Licensing.ValidateLicenseTask.Execute() 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: 於 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: 於 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: WRN: Assembly binding logging is turned OFF. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: Note: There is some performance penalty associated with assembly bind failure logging. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. 1>C:\Git\Solution1\WebApplication1\packages\SixLabors.Fonts.3.0.0\build\SixLabors.Fonts.targets(27,5): error MSB4018: ========== 全部重建: 0 成功、1 失敗、 0 略過 ==========施


下圖,Click可看 100%

失敗。

(完)

相關

[研究]Mend(WhiteSource) 建議使用不認得的 IsLocalUrl

[研究]Mend(WhiteSource) 建議使用不認得的 IsLocalUrl

2025-05-13

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20.2

********************************************************************************

下圖, Mend 建議

修改


string redirect = System.IO.Path.GetFileName(Request.PhysicalPath) + "?Seq=12&no=13&" + Url; //Mend建議新增(Begin) if (!Url.IsLocalUrl(redirect)) { Response.Redirect("../Error.aspx"); return; } //Mend建議新增(End)

下圖,Visual Studio 不認得 IsLocalUrl



**********
找到一份 CODE,考慮挪過來用,待測



public virtual bool IsLocalUrl(string url) { if (string.IsNullOrEmpty(url)) { return false; } // Allows "/" or "/foo" but not "//" or "/\". if (url[0] == '/') { // url is exactly "/" if (url.Length == 1) { return true; } // url doesn't start with "//" or "/\" if (url[1] != '/' && url[1] != '\\') { return true; } return false; } // Allows "~/" or "~/foo" but not "~//" or "~/\". if (url[0] == '~' && url.Length > 1 && url[1] == '/') { // url is exactly "~/" if (url.Length == 2) { return true; } // url doesn't start with "~//" or "~/\" if (url[2] != '/' && url[2] != '\\') { return true; } return false; } return false; }
(完)

相關

2026年5月11日 星期一

[研究] Ubuntu 26.04 LTS Server Linux 安裝

[研究] Ubuntu 26.04 LTS Server Linux 安裝

2026-05-11

官方網站

https://www.ubuntu-tw.org/

https://releases.ubuntu.com/26.04/

Click 圖片可以看100%原尺寸圖,安裝不難,只是留個紀錄






















(完)

相關

[研究] Ubuntu 26.04 LTS Server Linux 安裝
https://shaurong.blogspot.com/2026/05/ubuntu-2604-lts-server-linux.html

[研究] Ubuntu 26.04 LTS Desktop Linux 安裝
https://shaurong.blogspot.com/2026/04/ubuntu-2604-lts-desktop-linux.html

[研究] Ubuntu 25.10 (非LTS) Desktop Linux 安裝
https://shaurong.blogspot.com/2025/10/ubuntu-2510-lts-desktop-linux.html

[研究] Ubuntu 25.04 (非LTS) Desktop Linux 安裝
https://shaurong.blogspot.com/2025/04/ubuntu-2504-lts-desktop-linux.html

[研究] Ubuntu 24.10 (非LTS) Desktop Linux 安裝
https://shaurong.blogspot.com/2024/10/ubuntu-2410-lts-desktop-linux.html

[研究] Ubuntu 24.04 LTS Desktop Linux 安裝
https://shaurong.blogspot.com/2024/04/ubuntu-2404-lts-desktop-linux.html

[研究] Ubuntu 23.10 (非LTS) Desktop Linux 安裝
https://shaurong.blogspot.com/2023/11/ubuntu-2310-lts-desktop-linux.html

[研究] Ubuntu 23.04 (非LTS) Desktop Linux 安裝
http://shaurong.blogspot.com/2023/04/ubuntu-2304-lts-desktop-linux.html

[研究] Ubuntu 22.10 Desktop Linux 安裝
https://shaurong.blogspot.com/2022/10/ubuntu-2210-desktop-linux.html

[研究] Ubuntu 18.04 Desktop x64 LTS 安裝 VMware Tools-10.2.5-8068393.tar.gz
https://shaurong.blogspot.com/2018/05/ubuntu-1804-desktop-x64-lts-vmware.html

[研究] Ubuntu 22.04 LTS Desktop Linux 安裝
https://shaurong.blogspot.com/2022/05/ubuntu-2210-lts-desktop-linux.html

[研究] Ubuntu 21.10 Desktop Linux 安裝
https://shaurong.blogspot.com/2021/10/ubuntu-2110-desktop-linux.html

[研究] Ubuntu 21.04 Live Server Linux 安裝
https://shaurong.blogspot.com/2021/07/ubuntu-2104-live-server-linux.html

Index of /ubuntu-releases/
https://ftp.ubuntu-tw.org/ubuntu-releases/

Ubuntu release cycle | Ubuntu
https://ubuntu.com/about/release-cycle

BionicBeaver/ReleaseSchedule - Ubuntu Wiki
https://wiki.ubuntu.com/BionicBeaver/ReleaseSchedule

Releases - Ubuntu Wiki
https://wiki.ubuntu.com/Releases