Rumah > hujung hadapan web > tutorial js > Petua Pengurusan Cookie Cepat

Petua Pengurusan Cookie Cepat

Susan Sarandon
Lepaskan: 2025-01-29 22:36:12
asal
892 orang telah melayarinya

Quick Cookie Management Tips

hey pemaju! Saya baru-baru ini bergumul dengan pengurusan cookie dalam projek saya, e-commerce-smoky-omega.vercel.app, dan fikir saya akan berkongsi pembelajaran saya. Mari buat kuki berfungsi lebih pintar!

Apa itu cookies?

Cookie adalah paket data kecil yang dihantar dari pelayan ke penyemak imbas pengguna. Penyemak imbas menyimpan, membuat, mengubah suai, dan menghantar semula ke pelayan dengan permintaan berikutnya. Ini penting untuk pengurusan sesi, pemperibadian, dan penjejakan.

Cookie Essentials

Fikirkan kuki sebagai nota kecil pelayan anda meninggalkan penyemak imbas pengguna. Mereka sesuai untuk menjaga pengguna masuk atau mengingati pilihan mereka.

Persediaan Cookie Server-Side

<code class="language-javascript">const options = {
    httpOnly: true,
    secure: true,
    sameSite: "none"
};

return res
    .status(200)
    .cookie("accessToken", accessToken, options)
    .cookie("refreshToken", refreshToken, options)
    .json(
        new Apiresponse(
            200,
            { user: loggedInUser },
            "User logged in successfully"
        )
    );</code>
Salin selepas log masuk
Contoh ini menunjukkan menetapkan dua kuki: Token Akses (Pengesahan Jangka Pendek) dan Token Refresh (untuk mendapatkan token akses baru). Objek

mengkonfigurasi parameter keselamatan penting: options

  • : Mencegah akses JavaScript sisi klien, mengurangkan serangan XSS. httpOnly: true
  • : Memastikan kuki hanya dihantar melalui https. secure: true
  • : Membolehkan kuki dalam permintaan silang asal (penting untuk komunikasi frontend-backend). Saya pada mulanya bergelut dengan tetapan ini. sameSite: "none"
Pengendalian Cookie sisi klien

<code class="language-javascript">const loginResponse = await axios.post(
    `${base_URL}/api/v1/users/signin`,
    { email, password },
    { withCredentials: true }
);

if (loginResponse.data.data) {
    const userResponse = await axios.get(
        `${base_URL}/api/v1/users/getuser`,
        { withCredentials: true } // Automatically sends cookies
    );
}</code>
Salin selepas log masuk
Selepas log masuk yang berjaya (pelayan menghantar kuki),

dalam permintaan pihak klien memastikan penyemak imbas menghantar kuki kembali ke pelayan untuk mendapatkan semula data pengguna. Mudah, betul? withCredentials: true

Pilihan Cookie Advanced

<code class="language-javascript">const options = {
    expires: new Date(Date.now() + 24 * 60 * 60 * 1000), // Expires in 24 hours
    maxAge: 24 * 60 * 60 * 1000, // Alternative expiry (milliseconds)
    domain: '.example.com',    // All subdomains
    path: '/',                 // Entire domain

};</code>
Salin selepas log masuk
  • vs expires: maxAge Gunakan satu, bukan kedua -duanya. (milisaat sejak sekarang) biasanya disukai. maxAge
  • : domain Gunakan dengan berhati -hati kerana implikasi keselamatan. Hanya ditetapkan jika akses silang subdomain diperlukan.
  • : sameSite (paling selamat, menghadkan permintaan lintas tapak), strict (lalai yang baik), lax (memerlukan none). secure: true
  • : signed memerlukan kunci rahsia sisi pelayan.
  • : partitioned ciri privasi yang lebih baru, tidak disokong secara universal.
itu sahaja! Harap ini membantu. Ini adalah artikel pertama saya, jadi maklum balas dialu -alukan!

Atas ialah kandungan terperinci Petua Pengurusan Cookie Cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan