使用 PHP 來寫瀏覽器測試吧!
熱門測試框架 Pest 的作者 Nuno 大大,在今年的 Laracon US 上正式發表了 Pest 4。這次的大版本更新同樣帶來了許多亮點,其中最受矚目的就是整合了流行的 e2e(End-to-End)測試框架 Playwright。所以!現在你也能直...
使用 HTML Sanitizer 來過濾不安全的 HTML 內容
只要網站有能讓使用者輸入文字的地方,例如常見的所見即所得(WYSIWYG)編輯器,就需要設定一個機制來過濾掉不安全的 HTML 內容以避免 XSS(Cross-site scripting)攻擊。因為我的部落格一開始是以面向所有人的論壇...
在 Laravel 中實作密碼金鑰登入
這篇文章接續我的上一篇文章 — 實作密碼金鑰登入的筆記。建議先閱讀完上一篇文章了解密碼金鑰的基本概念與專有名詞後,再來閱讀本篇文章,相信你會更好的理解文章中的實作內容 😊。接下來會一步一步的說明如何在 Lar...
簡單介紹 PHP 8.4 的屬性掛鉤
前陣子 PHP 8.4 終於正式發佈啦! 🎉🎉🎉本次年度大更新一樣帶來許多新的功能與語法糖,除了終於支援 HTML 5 的解析以外,還帶來了新的 array 方法、非對稱可見性 (Asymmetric Visibility) 以及屬性掛鉤 (Property H...
引入本機環境上的 PHP 套件
如果你正在開發自己的 PHP 套件,或是想修改並測試他人的 PHP 套件,那麼將這些套件引入到其他專案中進行實驗會是很常見的情況。在現代 PHP 開發中,都會要求專案和套件使用 Composer 來管理依賴套件。但問題來了:...
PHP 8.4 將支援 HTML 5 的解析
自從 PHP 基金會成立以後,PHP 核心維護團隊招募到了許多優秀的新成員,或許是因為有了充足的人力協助開發,PHP 在近幾年的更新下新增了許多功能,讓 PHP 這個老牌語言始終散發著活力。最新的 8.4 版本即將在今年底...
來當資安研究員,Joomla 的 XSS 漏洞研究
前陣子,在全世界 CMS (Content Management System) 市場擁有 2% 市占率的 Joomla 被發現含有 XSS (Cross-Site Scripting) 漏洞。 造成這個漏洞的原因並非是 Joomla 的程式邏輯有什麼問題,而是 PHP 本身提供的函式...
我不想維護伺服器啦!分享怎麼將 Laravel 部署至 AWS Lambda
文中使用到的 PlanetScale 資料庫服務,在 3 月 7 號發了一篇文章宣布 4 月 8 號後不再提供免費服務。🥲可以考慮使用 Supabase 與 Neon 這些有提供免費 PostgreSQL 的服務。假設你今天寫了一個網站,想要放到網路上...
使用 Docker 把自己的 Laravel 專案容器化
最近我正在學習如何使用容器管理平台 K8s,過程中深刻體會到容器化所帶來的許多好處。舉例來說,它可以更好地實現水平擴展,同時在更新服務時,可以使用滾動更新 (rolling update) 的方式,讓服務不間斷。因此某一天...
如何在 PHP 中測試 Trait
在使用 Laravel Livewire 的時候,我時常會把 livewire component 中可以重複使用的邏輯或是方法抽出並放在 Trait 中。Laravel Livewire 官方文件中也建議使用 Trait 來處理經常重複使用的邏輯。詳細可以參考下面兩...