Heim > Web-Frontend > js-Tutorial > Schnelle Cookie -Management -Tipps

Schnelle Cookie -Management -Tipps

Susan Sarandon
Freigeben: 2025-01-29 22:36:12
Original
892 Leute haben es durchsucht

Quick Cookie Management Tips

Hey Entwickler! Ich habe kürzlich in meinem Projekt, E-Commerce-Smoky-Omega.vercel.App, mit dem Cookie-Management geraten und dachte, ich würde meine Erkenntnisse teilen. Lassen Sie uns Kekse intelligent arbeiten!

Was sind Cookies?

Ein Cookie ist ein kleines Datenpaket, das von einem Server an den Browser eines Benutzers gesendet wird. Browser speichern, erstellen, ändern und geben diese mit nachfolgenden Anforderungen an den Server an. Dies ist entscheidend für das Sitzungsmanagement, die Personalisierung und die Verfolgung.

Cookie Essentials

Stellen Sie sich Cookies als kleine Anmerkungen vor, die Ihr Server im Browser des Benutzers hinterlässt. Sie sind perfekt, um Benutzer angemeldet zu halten oder sich an ihre Vorlieben zu erinnern.

serverseitiges Cookie-Setup

<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>
Nach dem Login kopieren

Dieses Beispiel zeigt das Einstellen von zwei Cookies: ein Zugriffstoken (kurzfristige Authentifizierung) und ein Aktualisierungstoken (zum Erhalten neuer Zugriffstoken). Das Objekt options konfiguriert wichtige Sicherheitsparameter:

  • httpOnly: true: verhindert den Client-Seiten-JavaScript-Zugriff, mildern XSS-Angriffe.
  • secure: true: stellt sicher, dass Cookies nur über https gesendet werden.
  • sameSite: "none": Ermöglicht Cookies in Cross-Origin-Anfragen (wichtig für die Kommunikation mit Frontend-Backend). Ich hatte zunächst mit dieser Einstellung zu kämpfen.

Client-Side Cookie-Handling

<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>
Nach dem Login kopieren

Nach einer erfolgreichen Anmeldung (Server sendet Cookies), sendet withCredentials: true in der clientseitigen Anforderung den Browser zum Abrufen von Benutzerdaten an den Server zurück an den Server. Einfach, richtig?

Erweiterte Cookie -Optionen

<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>
Nach dem Login kopieren
  • expires vs maxAge: Verwenden Sie einen, nicht beides. maxAge (Millisekunden seitdem) wird im Allgemeinen bevorzugt.
  • domain: Verwenden Sie vorsichtig aufgrund von Sicherheitsauswirkungen. Nur einstellen, wenn der Zugang zum Subdomänen benötigt wird.
  • sameSite: strict (am sichersten, begrenzt die Querstelle), lax (guter Standard), none (erfordert secure: true).
  • signed: erfordert einen serverseitigen geheimen Schlüssel.
  • partitioned: Eine neuere Datenschutzfunktion, die nicht allgemein unterstützt wird.

Das ist es! Hoffe das hilft. Dies ist mein erster Artikel, also ist Feedback willkommen!

Das obige ist der detaillierte Inhalt vonSchnelle Cookie -Management -Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage