Rumah  >  Artikel  >  hujung hadapan web  >  Tetapan kuki: kaedah dan pertimbangan biasa

Tetapan kuki: kaedah dan pertimbangan biasa

WBOY
WBOYasal
2024-01-19 08:58:052398semak imbas

Tetapan kuki: kaedah dan pertimbangan biasa

Kuki ialah mekanisme untuk menghantar maklumat antara tapak web, membolehkan data disimpan dalam penyemak imbas pengguna supaya ia boleh diakses antara halaman berikutnya. Dalam artikel ini, kami akan memperkenalkan kaedah dan pertimbangan biasa untuk tetapan kuki dan menyediakan contoh kod khusus untuk membantu pembangun lebih memahami dan menggunakan teknologi kuki.

1. Kaedah tetapan biasa Cookie

  1. Dengan menetapkan nilai Cookie

Kaedah tetapan Kuki yang paling asas ialah dengan menetapkan nilai Kuki. Berikut ialah contoh menetapkan kuki:

document.cookie = "username=John Doe";

Contoh ini akan menetapkan kuki bernama "nama pengguna" dengan nilai "John Doe". Kuki ini kekal sehingga pengguna menutup penyemak imbas.

  1. Dengan menetapkan tarikh luput kuki

Anda boleh menetapkan tarikh luput kuki untuk membuatnya luput sebelum tarikh yang ditentukan. Berikut ialah contoh menetapkan tarikh tamat tempoh:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2021 12:00:00 GMT";

Dalam contoh di atas, kami menetapkan kuki bernama "nama pengguna" dan ia akan tamat tempoh selewat-lewatnya pada 18 Disember 2021 12:00:00 GMT.

  1. Dengan menetapkan laluan atau nama domain kuki

Anda boleh mengehadkan skop kuki dengan menetapkan laluan atau nama domain kuki. Berikut ialah contoh menetapkan laluan dan nama domain:

document.cookie = "username=John Doe; path=/; domain=example.com";

Dalam contoh di atas, kami menetapkan kuki bernama "nama pengguna" dan menentukan laluan "/" untuk menunjukkan bahawa ia tersedia di seluruh tapak web. Nama domain "example.com" juga dinyatakan, menunjukkan bahawa skop kuki adalah terhad kepada nama domain dalam contoh.

  1. Dengan menetapkan bendera keselamatan kuki

Anda boleh mengehadkan keselamatan kuki dengan menetapkan bendera "selamat" kuki kepada benar. Ini hanya akan membenarkan kuki dihantar pada halaman menggunakan protokol HTTPS. Berikut ialah contoh menetapkan bendera keselamatan:

document.cookie = "username=John Doe; secure";

Dalam contoh di atas, kami menetapkan kuki bernama "nama pengguna" dan menetapkan bendera "selamat" kepada benar, menunjukkan bahawa kuki hanya boleh digunakan pada halaman menggunakan HTTPS protokol yang digunakan pada.

  1. Dengan menggunakan perpustakaan atau rangka kerja pihak ketiga

Selain menetapkan kuki secara manual, anda juga boleh menggunakan perpustakaan atau rangka kerja pihak ketiga untuk memudahkan proses tetapan kuki. Contohnya, gunakan kaedah setCookie jQuery:

$.cookie('username', 'John Doe', {expires: 7, path: '/'});

Kesan penggunaan jQuery ialah ia boleh menetapkan parameter secara automatik dan nilai lalainya, sekali gus memudahkan kerja reka bentuk Kuki. . Had ini biasanya berkisar antara 4 KB hingga 10 KB merentas penyemak imbas. Oleh itu, anda perlu memberi perhatian khusus kepada saiz kuki semasa menetapkannya untuk mengelakkan pembaziran ruang atau menjejaskan prestasi tapak web.

Isu Privasi Kuki

    Kuki disimpan dalam penyemak imbas pengguna, yang bermaksud bahawa jika tapak web menetapkan kuki, maklumat pengguna akan disimpan secara setempat. Dalam sesetengah senario sensitif, seperti pembayaran dalam talian, ini mungkin membawa kepada risiko membocorkan maklumat privasi pengguna. Oleh itu, anda perlu memberi perhatian khusus kepada isu perlindungan privasi semasa menetapkan kuki untuk mengelakkan maklumat pengguna bocor.
Kemas kini dan pemadaman kuki

    Dalam aplikasi sebenar, berkemungkinan data dalam Kuki perlu dikemas kini atau dipadamkan. Kegagalan untuk mengemas kini atau memadam kuki tepat pada masanya akan menyebabkan data tamat tempoh atau tidak konsisten, sekali gus menjejaskan fungsi biasa tapak web. Oleh itu, anda perlu memberi perhatian untuk mengemas kini atau memadam datanya tepat pada masanya semasa menetapkan kuki.
  1. 3. Contoh kod

Berikut ialah contoh program mudah yang menunjukkan cara menetapkan dan membaca Kuki:

// 设置 Cookie
function setCookie(name, value, days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}

// 读取 Cookie
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

// 假设我们要设置一个名为“username”的 Cookie,并将其值设置为“John Doe”,并设置有效期为 7 天
setCookie("username", "John Doe", 7);

// 读取 Cookie
var username = getCookie("username");
console.log(username);  // 输出:“John Doe”
    Dalam contoh di atas, kami menentukan dua kaedah: setCookie dan getCookie. Kaedah setCookie digunakan untuk menetapkan Cookie, dan kaedah getCookie digunakan untuk membaca Cookie. Kami kemudian menetapkan kuki yang dipanggil "nama pengguna" dan menetapkan nilainya kepada "John Doe" dengan tempoh sah selama 7 hari. Akhir sekali, kami membaca nilai kuki dan mencetaknya ke konsol.
  1. Kesimpulan

Melalui pengenalan di atas, kami memahami kaedah tetapan biasa dan langkah berjaga-jaga untuk kuki. Kuki boleh digunakan untuk memindahkan maklumat dengan mudah antara tapak web dan apabila menetapkan kuki, anda perlu memberi perhatian kepada saiznya, isu privasi dan mengemas kini atau memadam datanya tepat pada masanya. Melalui kod sampel, kami dapat memahami dan menggunakan teknologi Cookie dengan lebih baik, dengan itu memudahkan pembangunan tapak web.

Atas ialah kandungan terperinci Tetapan kuki: kaedah dan pertimbangan biasa. 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