web-dev-qa-db-ja.com

セッションの「秘密」オプションとは何ですか?

暗号については何も知りません。セッションシークレットとは何だろうと思っています。

次のようなコードが表示されます。

app.use(express.session({
  store: mongoStore({
    url: app.set('db-uri')
  }),
  secret: 'topsecret'
}));

秘密とは何ですか、変更する必要がありますか?

99
Harry

はい、変更する必要があります。接続のセッションシークレットは、ハッシュの計算に使用されます。文字列がないと、セッションへのアクセスは基本的に「拒否」されます。 connect docs をご覧ください。これは少し役立ちます。

75
Hacknightly

シークレットは、HMACとのセッションをハッシュするために使用されます。

https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L256

セッションは、秘密のハッシュと指紋を照合することにより、セッションハイジャックから保護されます。

https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L281-L287

20
substack