ホームページ  >  記事  >  ウェブフロントエンド  >  Node+Express が Cookie をどのように操作するかについて話しましょう

Node+Express が Cookie をどのように操作するかについて話しましょう

青灯夜游
青灯夜游オリジナル
2022-06-22 10:01:082247ブラウズ

Node Express は Cookie をどのように操作しますか?次の記事では、nodejsを使ってCookieを操作する方法を紹介しますので、ご参考になれば幸いです。

Node+Express が Cookie をどのように操作するかについて話しましょう

#Cookie: 複数形の Cookie も使用されることがあります。タイプは「小さなテキスト ファイル」で、一部の Web サイトによってユーザーの身元を特定し、セッション追跡を実行するためにユーザーのローカル端末に保存されるデータ (通常は暗号化されています) であり、情報はユーザーのクライアント コンピューターに一時的または永続的に保存されます。


#node を使用して Cookie を操作するには、cookie-parser module

npm i cookie-parser -s

# が必要です。 ## 次に、このモジュールをファイルに導入します。

// 引入express模块
const express = require('express')
// 实例化express
const app = express()
// 操作cookie模块
const cookieParser = require('cookie-parser');
// 加入cookie签名
app.use(cookieParser('真的好离谱')); //使用cookie中间件,加密值为:‘真的好离谱’

パラメータの詳細

name: Cookie を一意に識別する名前。
value: Cookie に保存されている文字列の値。

ドメイン: Cookie はそのドメインに対して有効です。
パス: この Cookie の影響を受けるパスを示します。ブラウザは、この設定に基づいて、指定されたドメイン内の一致するパスに Cookie を送信します。
有効期限: Cookie の有効期限が切れる時刻を示します。この時間が設定されていない場合、ブラウザはページを閉じるときにすべての Cookie を削除しますが、有効期限を自分で設定することもできます。
注: クライアントとサーバーによって設定された時間が一致しない場合、有効期限を使用するときにずれが生じます。
max-age: この Cookie の有効期限をブラウザに伝えるために使用されます (秒単位)。一般に、max-age は、expires よりも優先されます。
HttpOnly: スクリプト document.cookie を介して値を変更できないようにブラウザに指示します。この値も document.cookie では表示されませんが、この Cookie は http リクエストに含まれます。
注: ただしこの値はスクリプト内にあります お勧めできませんが、ブラウザのインス​​トール ディレクトリにファイルの形式で存在します この設定は通常、サーバー側で設定されます。
secure: セキュリティ フラグ。secure が true の場合に指定すると、HTTP では無効になり、HTTPS でのみ有効になります。これは、作成された Cookie が、HTTPS 接続でのセッション検証のためにブラウザによってのみサーバーに渡されることを意味します. HTTP 接続の場合、この情報は渡されないため、通常は聞こえません。

#読み取りの問題について

req.cookies: 読み取られるのは暗号化されていない Cookie です。
  • req.signedCookies: 暗号化された Cookie を読み取ります。
  • #ケース
app.get('/', (req, res) => {
    res.cookie('cart', { items: [1, 2, 3] }, { maxAge: 10000 * 2, httpOnly: true, signed: true, path: '/' });
    res.cookie('user', '张三', { httpOnly: true, path: '/user', signed: true })
    res.send('ok')
    console.log(req.cookies)
    console.log(req.signedCookies)
})

##

app.get('/user', (req, res) => {

    console.log(req.cookies)
    res.send(req.signedCookies)
})
##
app.get('/news', function (req, res) {
    res.cookie('Age', '大白', { maxAge: 10000 * 2, httpOnly: true, signed: true })
    res.cookie('Age', '0', { maxAge: 0 }); //删除cookie
    res.send('你好nodejs news')
})
Node+Express が Cookie をどのように操作するかについて話しましょう

Node+Express が Cookie をどのように操作するかについて話しましょう

maxAgeNode+Express が Cookie をどのように操作するかについて話しましょう

0

になると、Node+Express が Cookie をどのように操作するかについて話しましょうcookie

は削除されます。

ノード関連の知識の詳細については、nodejs チュートリアル を参照してください。

以上がNode+Express が Cookie をどのように操作するかについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。