#
php 筆記 程式設計 筆記

Laravel Ignition 遠程代碼執行漏洞

2021/02/04

晚上收到主機的警報,CPU 使用率 100%,SSH 進去看發現是執行序 kdevtmpfsi 造成的,User 是 Nginx,上網查詢後確定是挖礦程式,又被抓去當礦工了,突然想起下午的時候 Sentry 有一個警報:

ErrorException ignition.executeSolution

當時就有想起一個 Laravel 的漏洞通知:CVE-2021-3129,大概確定是這個原因了,出事的 Laravel 版本是 6,facade/ignition 版本是 1.16.4,基本上用 composer 更新一下應該就好了,如果你也跟我一樣是有公開的專案,記得加上 –no-dev 參數,拆掉一勞永逸。

別忘記還要清除 kdevtmpfsi ,使用 crontab -l 檢查 Crontab 有沒有相關的執行任務,執行以下腳本清除 kdevtmpfsi

再觀察一下,沒有再發作就可以收工囉!

清除 kdevtmpfsi 可以參考這篇比較清楚喔:Linux服務器kdevtmpfsi挖礦病毒解決方法:治標+治本

趙大衛
貫徹死了都要創業為信念,卻差一點讓口號變成事實! 目前正在進行第一次修養,請多多支持。

#
jQuery & Javascript

Javascript object 如何保有原本的 key ordering

2020/12/12

什麼時候 Javascript 的 Object 會有順序問題?

答案:Integer key 值會由小排到大,並且排序會大於其他 string key。

我們先寫一個 function log object 的順序。

1. 一個正常的 object。

沒問題,結果是我們要的。

2. 一個 key 由英文、數字混合而成的 object。

沒問題,如果你剛好需要 Integer key 自動排序並永遠在前,那太感謝 javascript 了。

解決辦法

沒有解決辦法。

或許你可以查一下有沒有原生 function 能取得原本的順序,如果你打算這麼做的話,我幫你查好了。

你可以試一下,我這邊不暴雷。

替代方案

1. 改用 map ,不是 array function 的 map,而是 ES6 新加入的資料型態,他可以保持原本的順序。

2. 如果你有特殊原因非得用 Object,你只能把順序另外存在 array 當中了。

Lai Dave
一個仍在尋找方向的菜鳥軟體工程師。

#
Ionic 程式設計

Ionic 5 偵測 Android 實體按鈕的方式

2020/07/17

因為 Android 的手機多了實體按鈕,所以在規劃流程的時候必須把這點考慮進去,ios 只要把 back button 拿掉,就不能回上頁了,但 android 可以靠實體按鈕回到上一頁,邏輯方面就要小心處理。

趙大衛
貫徹死了都要創業為信念,卻差一點讓口號變成事實! 目前正在進行第一次修養,請多多支持。

#
Ionic 筆記

Ionic V4 用 HttpClient 上傳圖片

2020/05/13

原本一直是用 cordova-plugin-file-transfer 來實作圖片上傳的部分,除了帶額外的 params 都失敗之外,沒什麼大問題,但因為這外掛已經不推薦使用了,所以還是趁這次開發新專案時換到 HttpClient 上。

趙大衛
貫徹死了都要創業為信念,卻差一點讓口號變成事實! 目前正在進行第一次修養,請多多支持。

#
Ionic

Ionic 4 動態產生多 sliders

2020/04/29

Ionic 的 Sliders 有一種情境是一個頁面會有 N 個 Sliders,例如說會員列表、產品列表,每一個會員或產品都有很多張圖,所以會有很多個 Sliders 且沒辦法先確定會有幾個,這種情境可以用以下解法。

趙大衛
貫徹死了都要創業為信念,卻差一點讓口號變成事實! 目前正在進行第一次修養,請多多支持。