政府共通平台之轉寄好友修復

common-platform-of-the-government-forward-friends-fix
錯誤狀況為:
- 使用轉寄好友功能時,會發生被 XSS 防護擋下,直接進入警告畫面

- 修復第一項後,點擊寄出,其中 xItem 之值變為 null ,導致 mail 與返回頁面之連結錯誤

Fix 1. 轉寄好友之 XSS 防護
發生原因
預設 XSS 防護模式為阻斷模式意即若視為 XSS 攻擊,則將此 Request 阻擋下來,並顯示警告頁面

解決方法
預設 XssFilter 模式為阻斷模式,將其修正為過濾模式
2. 送出後 xItem 之值變為 null
錯誤畫面

發生原因
範例網址:http://web.tactri.gov.tw/wSite/sp?xdUrl=/wSite/Forward/Forward.jsp?xItem=6486&ctNode=216&mp=11
其 QuerySring 應為 xdUrl=/wSite/Forward/Forward.jsp?xItem=6486&ctNode=216&mp=11 可從中解析出三個參數:
xdUrl=/wSite/Forward/Forward.jsp?xItem=6486ctNode=216mp=11
其原始程式卻直接去取得 xItem 之值,導致所得 xItem 值均為 null
解決方法
Javascript
透過 Javascript 處理 QueryString 取得 xItem 之值
JSP
原理與 Javascript 相同,透過程式處理取得 xItem 之值
修復完成畫面

修復畫面

![[IT 鐵人賽] ASP.NET Core 與 Log 紀錄和追蹤的愛恨交織 - Day 05 - Elmah - 02](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1776070454149%2Fa0702417-5357-4217-a572-7ba53ea36735.png&w=3840&q=75)
![[IT 鐵人賽] Azure Data Service - Day 04 - Cognitive Service - 辨識 - Video Indexer](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1776070473207%2F6423fd4a-4041-4bb2-b918-4cfe3f9aea5e.png&w=3840&q=75)