JSON UTC 時間轉 yyyy-MM-mm HH:mm:ss 格式本地時間之香草 JavaScript 極簡解法
生活與工作上遇過多次,從後端接到 2023-07-25T23:30:00Z JSON 格式的 UTC 時間字串,new Date('2023-07-25T23:30:00Z') 轉成 Date 物件後,不想為此引用程式庫,如何用原生 API 再轉成本地時間的 yyyy-MM-mm HH:mm:ss ... Read More
View ArticleWindows 11 登入 RDP 遠端桌面無法記憶密碼的解決方法
Windows RDP 遠端桌面登入時原本有個記憶帳號密碼功能,勾選「記住我」,帳號密碼便會被保存下來,下回登入可省去敲密碼的工夫自動登入。 我的小黑筆電還是 Windows 10 (CPU 太舊想升不上 Windows 11),用這招用得很開心,點兩下就連上 RDP 很方便。不過,這招在我的迷你... Read More
View ArticleYT 筆記 - 資安科普:為什麼 MD5 不再安全?
若你跟業內人士說你在系統裡使用了 MD5 雜湊,多半會得到以下反應: 茄~ MD5 雜湊早在八百年前就被證實為不安全,你居然還在用? 自從差分攻擊法問市,MD5 安全性已蕩然無存,幾秒就能破解 道理我都懂,但心中仍有疑問: 即使 EXE 檔附上 MD5 碼驗證,駭客都能輕鬆能做出一植入木馬,檔... Read More
View ArticleGPG 筆記 - 產生 ECC 金鑰及加解密檔案
如果你對 GPG(GnuPG) 跟 ECC 金鑰沒什麼概念,這裡先提供一些背景知識。 GPG (The GNU Privacy Guard,又稱 GnuPG),是一套實作 OpenPGP 標準規開源軟體,使用 Windows 的同學或許較少接觸,但它成為 Linux / macOS 內建工具很久了,... Read More
View ArticleASP.NET 偵錯模式的資安議題
ASP.NET 老人們應該知道 web.config 有個 <compilation debug="true/false" /> 設定,啟用後網站會跑得比較慢,但能提供較多偵錯資訊,有利於開發測試。 ASP.NET 啟用偵錯模式(Debug Mode)後會出現以下行為... Read More
View Article【答客問】關閉 ASP.NET 偵錯模式及使用 Release 編譯還能保留錯誤行號嗎?
昨天提到基於效能與資安,ASP.NET 上線時應關閉偵錯模式,有讀者問到: 若選擇 Release 編譯並停用偵錯模式(web.config <compilation debug="false" />),還能 Log 到錯誤程式所在行數? 首先補充一個基本觀念:要在出... Read More
View ArticleCSS 練習 - Checkbox 呈現部分選取狀態
最近遇到的前端小需求,分類項目清單允許使用者勾選整個類別,也可以展開類別勾選個別項目,操作起來類似以下這個樣子: 這種互動操作不難實作,弄個 { Catg: 'FrontEnd', Name: 'Vue.js', Checked: false } 物件模型,拿出 Vue.js 簡單搭一下,插電、開... Read More
View ArticleCoding4Fun - 活用 Visual Studio Image Library 3,833 個免費小圖示
全端工程師做的網頁以簡單質樸著稱(是說想華麗也華麗不起來),用到的視覺元素不多,以我自己為例,內部系統操作介面通常就 CSS 簡單配個色,頂多加些 16x16 規格小圖示讓網頁元素意義更容易理解,不需視覺設計人員支援,單兵就能完成戰鬥。(不只全端還一條龍呢) 很多時侯,圖示會帶來畫龍點睛的神奇效果,... Read More
View ArticleGPG 整合實體金鑰筆記
先前提過我想用便宜的自製 USB 實體金鑰配合 GPG 軟體實現「擁有特定硬體才能簽章、解密及登入」的高強度資安機制,實體 USB 金鑰具備有金鑰無法匯出複製、無法遠端破解、密碼及 PIN 碼雙重保護、錯誤次數上限鎖定銷毁等特性,安全性一般金鑰檔高出數倍。 不過,用 GPG 工具指令將金鑰存入 US... Read More
View ArticleCSS 動畫練習 - 點擊元素改變背景色再逐漸淡化
想在網頁加上動畫效果,資料表格中在某列資料變化時改變背景色吸引注意,再使用淡化效果恢復原本背景色。 以此目標我設計了一個綜合練習題,在網頁上放五個 DIV,點擊後使用 CSS 動畫效果將背景色改為紫色再逐漸淡化,1.5 秒後恢復原來顏色。若連續點擊同一 DIV,需停止現有動畫,重頭播放。另外,設計一... Read More
View ArticleWebConf Taiwan 2023 Day 1 共筆筆記
睽違十年,WebConf Taiwan 於 2023 年再次登場。(十年辦一次的研討會超酷,一輩子能參加的次數一隻手就能數完 XD) 本屆大會沒有錄影,但大會共筆有不少精彩整理(感謝現場同學熱血記錄),錯過可惜,套用 Ruddy 老師今天在 DIKW 金字塔理論所說的:「知識要內化再記筆記用自己的話... Read More
View ArticleWebConf Taiwan 2023 Day 2 共筆筆記
廢話不多說,Cut to the chase! 前情提要 APM 的守破離 - Norman Elastic APM (Application Performance Monitoring) 基於 Elastic Stack 的免費開源監測工具,觀測應用程式與元件的日誌 (Log)、指標 (Me... Read More
View Article在 Windows 使用實體金鑰免密碼登入 SSH/SCP/SFTP
若對這個主題一頭霧水,以下是一些背景知識: 用金鑰取代密碼登入 SSH 伺服器或 SCP 傳檔的好處:免敲密碼登入超方便、金鑰安全強度比文字密碼高 從 Windows 使用金鑰免密碼登入 SSH/SFTP/SCP Windows OpenSSH 伺服器筆記 實體金鑰的安全性比金鑰檔更上層樓,私鑰鎖... Read More
View Article如何在 .NET 工具程式安全儲存 API Key 設定
現代 API 服務大都是靠 API Key 管控存取權限及計算費用,因此貌似亂碼的 API Key 字串必須妥善保管,若是落入賊人之手,對方有可能看光你的資料、替你發文、幫你交易,或是大方享用服務由你買單。例如就有駭客鎖定 OpenAI 的會員服務,掃瞄 Github 原始碼用 "sk-*... Read More
View ArticleChatGPT 聊天程式練習 - 使用 .NET + Azure OpenAI API
半年過去,大家已學會平常心看待 ChatGPT,了解它的長處跟弱點,不再過度神化,什麼都問再靠北它瞎扯。我認為這才是面對 ChatGPT 的正確心態,認知到生成式 AI 的產出從來就不保證正確,需自負查核複檢之責,方能善用新科技提升競爭力,而不是亂用搞到可能飯碗不保。 現在才開始學寫 ChatGPT... Read More
View Article我的 Windows 新裝機 Chocolatey 安裝清單
近一年買了新主機跟開始玩 Azure,開 Hyper-V 或 Azure VM 裝 Windows 的頻率變高,裝好 OS 總有一堆基本工具要安裝,工作環境備妥才好做事。 體驗過 Linux agt/yum 跟 Chocolatey CLI 敲指令按 Enter 不必動滑鼠鍵盤程式便裝完程式的流暢,... Read More
View Article在 C# 使用 USB 實體金鑰加解密
用 .NET 程式加解密不是新鮮話題,但如果是用 .NET 程式整合 USB 實體金鑰加密資料,做到沒實體金鑰不知 PIN 碼就解不開,聽起來是不是就有點意思了? 土砲 USB 金鑰 Side Project 持續進行,產生及設定金鑰、使用 GPG 加解密、登入 SSH 都沒啥問題,下一步我想拿來做... Read More
View ArticleNginx Docker + SSH Tunneling 取代 ngrok 實現 Webhook 本機偵錯
LINE Bot 程式需要一個對 Internet 公開的 HTTPS URL 作為 Webhook 端點,以接收來自 LINE 聊天室的訊息、使用者回應及檔案。在開發偵測階段,我們通常是用 http://localhost:12345 這樣的本機隨機 Port 執行網站專案,每次都得先上傳雲端或對... Read More
View Article讀書筆記 - LINE BOT 開發實戰
週末啃完 David 老師「LINE BOT 與人工智慧辨別開發實戰」一書(再一次慢半拍,哈),依慣例筆記備忘。 先前寫過 LINE 機器人,平日也依賴 LINE Notify 發系統通報,嚴格來說我不算 LINE 程式開發生手。但相較於程式用到什麼查什麼學什麼的遊擊式學習,書籍課程提供較完整的知識... Read More
View Article再探 Windows 檔名不分大小寫陷阱 - .NET 處理對策
先幫沒踩過的同學補充這顆小地雷 - Windows 檔名不分大小寫阱陷。 我們都知道 Windows 的檔案系統不區分大小寫,對 Windows 來說,Logo_TW.png 跟 Logo_tw.png 是同一個檔案。因此,你無法在檔案總管將 Logo_TW.png 更名成 Logo_tw.png、... Read More
View Article