Junior
Cookies'терди 3 күндөн кийин өчүрүлүшү үчүн кандай орнотуу керек?
sobes.tech AI
AIден жооп
3 күндөн кийин өчүрүү үчүн "куки" орнотуу үчүн, сиз expires же max-age атрибутун колдонсоңуз болот:
-
expires: Так датаны жана мөөнөттү белгилейт, качан "куки" бүтөт. Дата GMT форматында болушу керек:
-
max-age: Колдонуу убактысынан баштап, "куки" канча секундда бүтөрүн белгилейт. Бул көбүрөөк ийкемдүү жана сунушталат:
JavaScript мисалында max-age колдонуу:
// Учурдагы убакытты миллисекунддар менен алабыз
const now = new Date().getTime();
// 3 күндүн убактысын миллисекунддар менен эсептейбиз
const threeDaysInMilliseconds = 3 * 24 * 60 * 60 * 1000;
// Өткөрүү убактысын эсептейбиз
const expirationTime = now + threeDaysInMilliseconds;
// Өткөрүү убактысы менен Date объектисин түзөбүз
const expirationDate = new Date(expirationTime);
// `expires` атрибуту менен куки орнотабыз, ал GMT форматында болот
//document.cookie = "myCookie=myValue; expires=" + expirationDate.toUTCString();
// же `max-age` колдонобуз (сунушталат)
const threeDaysInSeconds = 3 * 24 * 60 * 60;
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds;
// Кошумча атрибуттар:
// secure - куки HTTPS аркылуу гана жиберилет
// HttpOnly - document.cookie аркылуу жеткиликтүү эмес (XSS коргоо)
// path - жол, анда куки иштейт
// domain - домен, анда куки иштейт
// SameSite - cross-site суроолордо кукинин жиберилишин алдын алат (сунушталат: Strict, Lax)
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds + "; path=/; secure; SameSite=Lax";
expires жана max-age салыштыруу:
| Атрибут | Түшүндүрмө | Формат | Артыкчылыктары | Кемчиликтери |
|---|---|---|---|---|
expires |
Так датаны көрсөтөт, качан бүтөт. | GMT форматындагы дата | Эски браузерлер менен иштейт. | Клиенттин түз убактысына көз каранды. |
max-age |
Секунддар санын көрсөтөт, качан бүтөт. | Секунддар саны | Убакыттын тактыгына көз каранды эмес. Ийкемдүү. | Эски браузерлерде толук колдоо болбой калышы мүмкүн. |
Ошондой эле "куки" сервер тарабынан да коюлуусу мүмкүн, мисалы, Set-Cookie башталышы аркылуу:
Set-Cookie: myCookie=myValue; Max-Age=259200; Path=/; Secure; SameSite=Lax
Бул жерде Max-Age=259200 3 күнгө туура келет (секунда менен).