嘿開發人員! 我最近在我的項目,電子商務 - 莫克 - 歐米加(Vercel.app)中與Cookie Management搏鬥,並認為我會分享我的學習。 讓cookie變得更聰明!
>cookie是從服務器發送到用戶瀏覽器的小型數據包。 瀏覽器存儲,創建,修改和將其重新發送到服務器中,並隨後的請求。 這對於會話管理,個性化和跟踪至關重要。
>>將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>
此示例顯示設置兩個cookie:訪問令牌(短期身份驗證)和一個刷新令牌(用於獲取新的訪問令牌)。 options
對象配置關鍵的安全參數:
httpOnly: true
:防止客戶端JavaScript訪問,減輕XSS攻擊。 secure: true
:確保僅通過https發送cookie。
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
高級cookie選項
<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
partitioned
就是這樣! 希望這會有所幫助。 這是我的第一篇文章,因此歡迎反饋! >以上是快速餅乾管理提示的詳細內容。更多資訊請關注PHP中文網其他相關文章!