Laravel 5.6.30安全性更新


官方文件已經釋出咗(好耐)啦。

話說早排諗住開始寫1.5.0部份嘅功能,咁當然就做咗更新先啦。composer update自然唔少得。當我更新後,發現Axios回報401錯誤。401嘅意思係,你嘅要求未經認證。我心諗無可能呀,我應該無郁過堆設定先啱。於是我就由migrate:refresh到passport:install --force都做埋,依然話我錯。

於是我就上去高手雲集嘅 Laravel台灣 發問。
Facebook post embed功能唔支援群組......

如圖中所見,我最後喺 GitHub嘅laravel/passport#452 度搵到答案。因應PHP serialize()同unserialize()衍生出黎嘅 安全性問題 而進行咗更新,令到Cookies預設唔會進行serialize嘅動作。Axios本來係接受serialized cookie去將token傳送到OAuth2 server嘅關係,呢次更新做成咗Axios傳咗個錯嘅token俾伺服器,而伺服器就回傳401嘅HTTP回應返黎。

解決嘅方法:
1. 喺App\Http\Middleware\EncryptCookies.php度加入以下代碼以重新將cookies進行serialize()。
protected $serialize = true;
2. 如官方文件所講,更新Laravel Passport至6.0.7就可以使用Passport::withoutCookieSerialization()嘅方法。將呢個方法加入到App\Http\Providers\AppServiceProvider.php裡面。

個人建議跟隨官方嘅步伐進行更新,因為始終涉及安全性問題。如果有任何問題歡迎去 Passport嘅Issue頁面 發問,畢竟佢哋呢排都收到唔少相關嘅問題。

我所認知嘅Javascript進化史


呢篇係講我所見識到嘅Javascript進化史。唔會講佢嗰啲ECMAScript由1到7嘅進化史,而係我所認知嘅,網頁效果到而家近乎無所不能嘅Javascript。

講緊呢個嘢都有十年以上歷史...

時間回溯到第一次瀏覽器大戰嗰陣。代表微軟嘅瀏覽器Internet Explorer,同網景嘅Netscape Navigator正喺開始當時仲係「新世界」嘅互聯網市場爭緊一席之長短。當然,除咗瀏覽器之間嘅比拼,我哋呢班對互聯網感到濃厚興趣嘅學生哥亦都好積極開發網頁。為興趣,為學校,為朋友,我哋寫網頁,整討論區,寫留言板。

無法輕易被取代嘅傳統


部份大公司依然使用Classic ASP。

現代嘅工程師,不論前端後端,都會盡量應用新嘅技術去整新嘅程式,又或者係將舊嘅產品重新編寫。之前喺 jQuery - 時代嘅眼淚 度都有講過,GitHub已經完全放棄jQuery,改用Vanilla Javascript去達到想要嘅效果。不過,當你只係想由小專案開始將新嘅技術發揚光大,又唔係咁容易架。

Powered by Half-moon Production.

Copyright © 2011-2020 by 泣雨家的雜物房. Version 1.5.2.

Laravel 5.6.30安全性更新


官方文件已經釋出咗(好耐)啦。

話說早排諗住開始寫1.5.0部份嘅功能,咁當然就做咗更新先啦。composer update自然唔少得。當我更新後,發現Axios回報401錯誤。401嘅意思係,你嘅要求未經認證。我心諗無可能呀,我應該無郁過堆設定先啱。於是我就由migrate:refresh到passport:install --force都做埋,依然話我錯。

於是我就上去高手雲集嘅 Laravel台灣 發問。
Facebook post embed功能唔支援群組......

如圖中所見,我最後喺 GitHub嘅laravel/passport#452 度搵到答案。因應PHP serialize()同unserialize()衍生出黎嘅 安全性問題 而進行咗更新,令到Cookies預設唔會進行serialize嘅動作。Axios本來係接受serialized cookie去將token傳送到OAuth2 server嘅關係,呢次更新做成咗Axios傳咗個錯嘅token俾伺服器,而伺服器就回傳401嘅HTTP回應返黎。

解決嘅方法:
1. 喺App\Http\Middleware\EncryptCookies.php度加入以下代碼以重新將cookies進行serialize()。
protected $serialize = true;
2. 如官方文件所講,更新Laravel Passport至6.0.7就可以使用Passport::withoutCookieSerialization()嘅方法。將呢個方法加入到App\Http\Providers\AppServiceProvider.php裡面。

個人建議跟隨官方嘅步伐進行更新,因為始終涉及安全性問題。如果有任何問題歡迎去 Passport嘅Issue頁面 發問,畢竟佢哋呢排都收到唔少相關嘅問題。

我所認知嘅Javascript進化史


呢篇係講我所見識到嘅Javascript進化史。唔會講佢嗰啲ECMAScript由1到7嘅進化史,而係我所認知嘅,網頁效果到而家近乎無所不能嘅Javascript。

講緊呢個嘢都有十年以上歷史...

時間回溯到第一次瀏覽器大戰嗰陣。代表微軟嘅瀏覽器Internet Explorer,同網景嘅Netscape Navigator正喺開始當時仲係「新世界」嘅互聯網市場爭緊一席之長短。當然,除咗瀏覽器之間嘅比拼,我哋呢班對互聯網感到濃厚興趣嘅學生哥亦都好積極開發網頁。為興趣,為學校,為朋友,我哋寫網頁,整討論區,寫留言板。

無法輕易被取代嘅傳統


部份大公司依然使用Classic ASP。

現代嘅工程師,不論前端後端,都會盡量應用新嘅技術去整新嘅程式,又或者係將舊嘅產品重新編寫。之前喺 jQuery - 時代嘅眼淚 度都有講過,GitHub已經完全放棄jQuery,改用Vanilla Javascript去達到想要嘅效果。不過,當你只係想由小專案開始將新嘅技術發揚光大,又唔係咁容易架。