欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx設(shè)置HttpOnly Secure SameSite參數(shù)解決Cookie信息丟失

 更新時(shí)間:2024年11月10日 10:15:42   作者:風(fēng)行無痕  
本文主要介紹了Nginx中Cookie缺少SameSite屬性的問題,并詳細(xì)解釋了HttpOnly、Secure和SameSite屬性的作用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、背景說明

項(xiàng)目中使用了Nginx作為反向代理來訪問系統(tǒng),在漏洞掃描的過程中發(fā)現(xiàn)Cookie缺少 SameSite 屬性。我們需要將SameSite屬性設(shè)置為Strict或者 Lax。

二、Cookie安全相關(guān)屬性

HttpOnly :

  • 在Cookie中設(shè)置了“HttpOnly”屬性,通過程序(JS腳本、Applet等)將無法讀取到Cookie信息。
  • 將HttpOnly 設(shè)置為true 防止程序獲取cookie后進(jìn)行攻擊。

Secure :

  • 安全性,指定Cookie是否只能通過https協(xié)議訪問,一般的Cookie使用HTTP協(xié)議既可訪問。
  •  設(shè)置了Secure (沒有值),則只有當(dāng)使用https協(xié)議連接時(shí)cookie才可以被頁(yè)面訪問。可用于防止信息在傳遞的過程中被監(jiān)聽捕獲后信息泄漏。

SameSite:

Chrome瀏覽器在51版本后為 Cookie 新增的屬性,用來防止 CSRF 攻擊和用戶追蹤??梢栽O(shè)置三個(gè)值:Strict、 Lax、 None

  • Strict:完全禁止第三方 Cookie,跨站點(diǎn)時(shí),任何情況下都不會(huì)發(fā)送 Cookie。換言之,只有當(dāng)前網(wǎng)頁(yè)的 URL 與請(qǐng)求目標(biāo)一致,才會(huì)帶上 Cookie。Set-Cookie: CookieName=CookieValue; SameSite=Strict;
  • Lax:規(guī)則稍稍放寬,大多數(shù)情況也是不發(fā)送第三方 Cookie,但是導(dǎo)航到目標(biāo)網(wǎng)址的 Get 請(qǐng)求除外。Set-Cookie: CookieName=CookieValue; SameSite=Lax;設(shè)置了Strict或Lax以后,基本就杜絕了 CSRF 攻擊。當(dāng)然,前提是用戶瀏覽器支持 SameSite 屬性。
  • None:Chrome 計(jì)劃將Lax變?yōu)槟J(rèn)設(shè)置。這時(shí),網(wǎng)站可以選擇顯式關(guān)閉SameSite屬性,將其設(shè)為None。不過,前提是必須同時(shí)設(shè)置Secure屬性(Cookie 只能通過 HTTPS 協(xié)議發(fā)送),否則無效。Set-Cookie: key=value; SameSite=None; Secure

瀏覽器F12 在網(wǎng)絡(luò)下查看當(dāng)前狀態(tài),SameSite屬性缺失,我們需要通過配置nginx將SameSite屬性設(shè)置為Strict或者 Lax。

三、配置路徑

在nginx.conf 的 location 節(jié)點(diǎn)下進(jìn)行配置

add_header Set-Cookie 'Path=/;httponly; Secure; SameSite=Lax';

下面是完整的 location 節(jié)點(diǎn)配置

server {
		listen 443 ssl;
		server_name test.app.com;
		root html;
		index index.html index.htm;
		
		ssl_certificate C:/nginx/cert/client.pem;
		ssl_certificate_key C:/nginx/cert/private.key;
		
		ssl_session_timeout 4h;
		# Enable SSL cache to speed up
		ssl_session_cache shared:SSL:10m;
		
		# intermediate configuration
		ssl_protocols TLSv1.2 TLSv1.3;
		ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
		ssl_prefer_server_ciphers off;
		
		client_max_body_size 100m;

		proxy_http_version  1.1;
		
		proxy_set_header  X-Real-IP  $remote_addr;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;	
		# HTTP Force Jump to HTTPS
		proxy_redirect http:// $scheme://;


		# To resolve nginx 504 issue
		proxy_connect_timeout 1800s;
		proxy_send_timeout 1800s;
		proxy_read_timeout 1800s;
		
		client_body_timeout 1800s;
		
		# Nginx status
		location /nginxstatus {
			stub_status on;
			access_log logs/nginx-status-$logdate.log;
			auth_basic "NginxStatus"; 
		}
			
		# Application
		location /api{
            # 設(shè)置HttpOnly Secure SameSite參數(shù)解決Cookie跨域丟失
			add_header Set-Cookie 'Path=/;httponly; Secure; SameSite=Lax';
			proxy_pass http://127.0.0.1:8080;
			
		}
		
}

修改后的情況

到此這篇關(guān)于Nginx設(shè)置HttpOnly Secure SameSite參數(shù)解決Cookie信息丟失的文章就介紹到這了,更多相關(guān)Nginx HttpOnly Secure SameSite參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Nginx下將http改為https的操作步驟

    Nginx下將http改為https的操作步驟

    HTTPS是HTTP協(xié)議的安全版本,通過使用SSL(安全套接層)或TLS(傳輸層安全)協(xié)議加密通信,為數(shù)據(jù)傳輸提供了保密性、完整性和身份認(rèn)證,本文給大家介紹了Nginx下將http改為https的操作方法,需要的朋友可以參考下
    2024-08-08
  • Nginx的c30k問題解決方法

    Nginx的c30k問題解決方法

    這篇文章主要介紹了Nginx的c30k問題解決方法,本文同時(shí)探討了Nginx AIO的使用問題,需要的朋友可以參考下
    2014-09-09
  • Nginx進(jìn)程調(diào)度問題詳解

    Nginx進(jìn)程調(diào)度問題詳解

    Nginx采用的是固定數(shù)量的多進(jìn)程模型,由一個(gè)主進(jìn)程(MasterProcess)和數(shù)量與主機(jī)CPU核數(shù)相同的工作進(jìn)程協(xié)同處理各種事件。這篇文章主要介紹了Nginx進(jìn)程調(diào)度問題,需要的朋友可以參考下
    2021-09-09
  • Nginx實(shí)現(xiàn)ChatGPT?API代理步驟

    Nginx實(shí)現(xiàn)ChatGPT?API代理步驟

    這篇文章主要為大家介紹了Nginx實(shí)現(xiàn)ChatGPT?API代理步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Nginx反向代理springboot的jar包過程解析

    Nginx反向代理springboot的jar包過程解析

    這篇文章主要介紹了Nginx反向代理springboot的jar包過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 服務(wù)器的負(fù)載均衡nginx+tomcat實(shí)現(xiàn)動(dòng)靜分離

    服務(wù)器的負(fù)載均衡nginx+tomcat實(shí)現(xiàn)動(dòng)靜分離

    這篇文章主要為大家介紹了服務(wù)器的負(fù)載均衡nginx+tomcat實(shí)現(xiàn)動(dòng)靜分離的案例實(shí)施步驟以及環(huán)境詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • lnmp環(huán)境中如何為nginx開啟pathinfo

    lnmp環(huán)境中如何為nginx開啟pathinfo

    這篇文章主要介紹了lnmp環(huán)境中如何為nginx開啟pathinfo的方法,操作很簡(jiǎn)單,需要的朋友可以參考下
    2015-01-01
  • Nginx實(shí)現(xiàn)404頁(yè)面的方法小結(jié)

    Nginx實(shí)現(xiàn)404頁(yè)面的方法小結(jié)

    這篇文章主要介紹了Nginx實(shí)現(xiàn)404頁(yè)面的方法小結(jié),需要的朋友可以參考下
    2017-08-08
  • Nginx如何封禁IP和IP段的實(shí)現(xiàn)

    Nginx如何封禁IP和IP段的實(shí)現(xiàn)

    這篇文章主要介紹了Nginx如何封禁IP和IP段的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 關(guān)于使用Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟及雙主熱備高可用問題

    關(guān)于使用Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟及雙主熱備高可用問題

    這篇文章主要介紹了使用Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟及雙主熱備高可用,本文通過幾個(gè)問題解析幫助大家學(xué)習(xí)Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟的相關(guān)知識(shí),需要的朋友可以參考下
    2021-09-09

最新評(píng)論