Security Issue in express.js

Do Not Use bodyParser with Express.js

有在使用express要注意一下

這個安全性的問題是幾天前有使用者發現回報的,詳細的內容可以看一下上面那篇文章。主要是express中所提供的bodyParser的方法,會處理使用者傳入的資料(json, url or file)然後主要就是上傳檔案這部份產生的問題(express.multipart),因為它會在/tmp下面產生一個暫存檔,但是卻沒有回收,所以有心人可以用這種方式灌爆你的伺服器。

What should I do?

最好的方式是趕快把express升到最新版 ;p TJ已經在3.4.0的版本中修正這個問題了 ~

主要是把原本的formidable抽換成multiparty

如果你沒辦法升級的話,有用到express.bodyParser() or express.multipart()請記得手動處理一下生成的暫存檔(不過如果程式太大的話不建議這麼做,因為你得處理每個POST的Request,極髒...0rz

其實bodyParser就是跑json()urlencoded()multipart(),所以如果你壓根就不需要處理檔案的問題,就不要用bodyPa rser多此一舉

後話

其實處理的過程中有發生一點意外的事件,大概是有使用者用了比較激烈的語氣回覆,所以變成大家火氣都上來了,看起來TJ也被影響到,所以發了一則推

有時候問題發生大家總是會比較浮躁,不過對於開源專案大家也要多一分體諒,畢竟不是每位開發者都閒閒沒事,尤其像TJ這樣 大產量的貢獻者,光是處理使用者回報的問題都不知道要花多少時間了。在Issue上多列一些詳細的資訊、甚至送PR、上討論區開個主題提醒一下,應該都是不錯的作法。多些體諒、在自己能力範圍內也多貢獻一點自己的力量,這不就是開源社群運作的模式 嗎 ;p

Ferrari Lee

Read more posts by this author.

Subscribe to Ferrari != Ferrari

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!