Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menetapkan kuki tanpa tandatangan dalam nodejs

Bagaimana untuk menetapkan kuki tanpa tandatangan dalam nodejs

PHPz
PHPzasal
2023-04-26 09:08:05525semak imbas

Dalam proses membangunkan aplikasi web menggunakan Node.js, menetapkan kuki ialah fungsi penting. Kuki ialah kaedah interaksi antara penyemak imbas dan pelayan Fungsinya adalah untuk membolehkan pelayan mengenal pasti pengguna dan memberikan mereka perkhidmatan yang diperibadikan. Dalam Node.js, modul seperti express dan cookie-parser disediakan untuk membantu kami memproses Cookies dan secara lalai, Cookies ditandatangani. Walau bagaimanapun, terdapat beberapa senario di mana kami mungkin perlu menetapkan kuki tanpa tandatangan. Artikel ini akan memperkenalkan cara menetapkan kuki tanpa tandatangan dalam Node.js.

Apakah itu tandatangan

Dalam Node.js, apabila menghuraikan kuki, rahsia digunakan untuk mengesahkan sama ada kuki itu telah diusik Jika rahsia itu tidak sepadan, kunci dan nilai kuki tidak boleh dihuraikan. Proses ini dipanggil menandatangani.

Secara lalai, tandatangan ditambahkan secara automatik apabila menghuraikan kuki menggunakan penghuraikan kuki, seperti berikut:

app.use(cookieParser('your secret'));

your secret dalam kod di atas ialah kunci penyulitan, ia boleh menjadi sebarang rentetan yang anda mahukan. Apabila anda melepasi parameter rahsia, cookie-parser akan menggunakan kekunci ini untuk mengira tandatangan yang betul semasa menghuraikan kuki, dengan itu memastikan keselamatan kuki.

Cara menetapkan kuki yang tidak ditandatangani

Biasanya, kita semua mahu kuki ditandatangani untuk meningkatkan keselamatan. Walau bagaimanapun, terdapat beberapa senario di mana kami perlu menetapkan kuki tanpa menandatangani, seperti:

  • Apabila anda perlu menyimpan beberapa maklumat sensitif pada klien, tetapi tidak mahu menggunakan localStorage atau sessionStorage.
  • Sesetengah pengguna ingin melumpuhkan tandatangan kuki.

Dalam kes ini, kami perlu melumpuhkan ciri tandatangan secara manual. Dalam cookie-parser, ia disertakan dengan fungsi perpustakaan __cookie.serialize__, yang boleh digunakan untuk mensiri kuki secara manual.

let cookie = require('cookie');

let serializedCookie = cookie.serialize('key', 'value', {
  httpOnly: true,
  path: '/',
});
res.setHeader('Set-Cookie', serializedCookie);

Dalam kod di atas, fungsi cookie.serialize digunakan untuk mensiri Kuki yang tidak ditandatangani dan menetapkannya kepada Set-Cookie Mengenai hartanah.

Antaranya, parameter pertama

'key' mewakili nama kuki, dan parameter kedua 'value' mewakili nilai kuki. Parameter ketiga ialah options__, iaitu objek yang mengandungi pelbagai pilihan kuki, seperti __httpOnly__, __expires__, __secure, dsb. Di sini, kami menetapkan sifat httpSahaja dan laluan.

Perlu diambil perhatian bahawa jika anda melumpuhkan tandatangan kuki, anda mesti mengambil beberapa langkah untuk memastikan kuki itu tidak diganggu, seperti menggunakan protokol HTTPS untuk menyulitkan data yang dihantar.

Ringkasan

Dalam Node.js, menetapkan kuki ialah fungsi penting. Secara lalai, tandatangan ditambahkan secara automatik apabila menghuraikan kuki menggunakan

penghuraikan kuki untuk meningkatkan keselamatan kuki. Walau bagaimanapun, dalam beberapa senario kita perlu melumpuhkan fungsi tandatangan kuki secara manual. Artikel ini menerangkan cara untuk menetapkan kuki yang tidak ditandatangani dalam Node.js. Saya harap pengenalan dalam artikel ini akan membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan kuki tanpa tandatangan dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn