Helmet
app.use(helmet())と記述するだけ15個のmiddrewareが入る
default値が厳しめなのでちゃんと確認したほうがいい
app.use(helmet())ではなく、15個明示的に列挙したほうがわかりやすいと思うmrsekut.icon
helmet.contentSecurityPolicy()
helmet.crossOriginEmbedderPolicy()
helmet.crossOriginOpenerPolicy()
helmet.crossOriginResourcePolicy()
helmet.dnsPrefetchControl()
helmet.expectCt()
helmet.frameguard()
helmet.originAgentCluster()
helmet.permittedCrossDomainPolicies()
殆どの場合、問答無用で指定すべき項目
helmet.hsts()
prealodはdefaultでfalseになっていることに注意mrsekut.icon
max-ageのdefault値は180days
指定すべきだったり、指定すべきでなかったりする項目
helmet.referrerPolicy()
defaultはno-referrer(最も厳しい)
もしかしたらanalyticsが取れなくなるかもしれないので注意が必要
helmet.hidePoweredBy()
X-Powerd-By: Expressがheaderから非表示になる
ただ、これを付けたからといって特に安全にはならないことに注意
helmet.xssFilter()
なんとも言えないので指定しなくても良い気がする
browserのdefault挙動に任せる
IEをサポートしないなら気にしなくて良さそう
helmet.noSniff()
helmet.ieNoOpen()
リリースノートが書かれてないのでmajor updateの詳細がわからんmrsekut.icon