Hey Developers! 私は最近、私のプロジェクトであるe-commerce-smoky-omega.vercel.appでクッキー管理と格闘し、私の学習を共有していると思いました。 クッキーをより賢く動かしましょう!
Cookieは、サーバーからユーザーのブラウザに送信される小さなデータパケットです。 ブラウザは、後続のリクエストでこれらをサーバーに保存、作成、変更、および再送信します。 これは、セッション管理、パーソナライズ、追跡に不可欠です
Cookie Essentialsサーバー側のCookieセットアップ
<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>
options
httpOnly: true
:CookieがHTTPSのみを介して送信されるようにします
secure: true
sameSite: "none"
<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>
withCredentials: true
<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>
expires
maxAge
:セキュリティの影響のために慎重に使用します。 クロスサブドメインアクセスが必要な場合にのみ設定します
maxAge
domain
(最も安全な、クロスサイトのリクエストを制限)、(良いデフォルト)、sameSite
:strict
サーバー側のシークレットキーが必要です
lax
none
secure: true
:signed
それだけです! これが役立つことを願っています。 これは私の最初の記事ですので、フィードバックは大歓迎です!
以上がクイッククッキー管理のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。