国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java基礎(chǔ)八 - HTTP相關(guān)/Cookie/Session/網(wǎng)絡(luò)攻擊

這篇具有很好參考價值的文章主要介紹了Java基礎(chǔ)八 - HTTP相關(guān)/Cookie/Session/網(wǎng)絡(luò)攻擊。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、 反射/序列化/拷貝

1. 反射
//反射主要是指程序可以訪問、檢測和修改它本身狀態(tài)或行為的一種能力
//在Yaml數(shù)據(jù)驅(qū)動自動化框架比較適用,能獲取到當(dāng)前的類名及方法名
import java.lang.reflect.*;

public class ReflectionExample {
    public static void main(String[] args) throws Exception {
        // 獲取當(dāng)前類的 Class 對象
        Class<?> currentClass = ReflectionExample.class;

        // 獲取當(dāng)前方法的 Method 對象
        Method currentMethod = currentClass.getDeclaredMethod("main", String[].class);

        // 獲取類名和方法名
        String className = currentClass.getName();
        String methodName = currentMethod.getName();

        System.out.println("當(dāng)前類名:" + className);
        System.out.println("當(dāng)前方法名:" + methodName);
    }
}
2. 序列化
序列化是指將一個對象抓換為字節(jié)流在網(wǎng)絡(luò)上傳輸?shù)椒?wù)器,服務(wù)器對其進(jìn)行反序列化
可以使用 Serializable 接口來標(biāo)記一個類可以被序列化
3. 動態(tài)代理
Java 動態(tài)代理是一種在運行時生成代理類的機制,
允許你在不事先知道具體代理類的情況下創(chuàng)建代理對象。
動態(tài)代理通常用于在代理模式中,通過代理對象來控制對實際對象的訪問,
并可以在代理的前后添加一些額外的邏輯。


動態(tài)代理的用途包括:

日志記錄:在方法調(diào)用前后添加日志記錄。
性能監(jiān)控:統(tǒng)計方法調(diào)用的耗時。
事務(wù)管理:在方法調(diào)用前后開啟、提交或回滾事務(wù)。
權(quán)限控制:在方法調(diào)用前檢查用戶權(quán)限。
緩存控制:在方法調(diào)用前從緩存中獲取數(shù)據(jù),或在方法調(diào)用后將結(jié)果緩存起來。
4. 深拷貝和淺拷貝
1. 淺拷貝
只復(fù)制了對象的引用地址,2個引用指向同一個內(nèi)存地址,在其中一個變化后,另一個的也會同時變化。
2. 深拷貝
既復(fù)制了內(nèi)存地址,也復(fù)制了引用地址;變化不會影響其他

二、Http相關(guān)

1. Session與Cookie
1. Session存儲在服務(wù)端,Cookie存儲在用戶本地瀏覽器
2. Session更加安全,cookie可能會存在被篡改的風(fēng)險
3. Session存儲比較大的數(shù)據(jù),而Cookie相對比較小,不超過4kb
Session的工作原理:存儲在服務(wù)器的Session可以理解是一個Map。
Session是key,里面還有其他用戶信息是value。
用戶請求的時候拿Cookie包裝了sessionID換取其他信息
2. 如何避免sql注入
攻擊原理:在瀏覽器通過偽造,注入一段sql達(dá)到查詢/修改數(shù)據(jù)庫,達(dá)到攻擊目的
避免:
1. 使用參數(shù)化查詢
2. 對輸入的內(nèi)容進(jìn)行(正則/字符串)過濾
3. 使用 Web 應(yīng)用防火墻(WAF)來檢測和阻止惡意 SQL 注入攻擊。
3. XSS(跨站腳本攻擊)
原理:用戶在瀏覽網(wǎng)頁的時候,通過Xss注入HTML代碼,當(dāng)用戶瀏覽或者輸入某些內(nèi)容的時候自動調(diào)用,
從而獲取當(dāng)前網(wǎng)頁用戶的消息
避免:對輸入/URL進(jìn)行過濾,對輸出進(jìn)行編碼。
4.?CSRF(跨站網(wǎng)站攻擊)?
原理:
給用戶提供和目標(biāo)網(wǎng)站類似的網(wǎng)站/放置惡意鏈接,用戶在登錄狀態(tài)下點擊某功能。
導(dǎo)致調(diào)用鏈其他鏈接,例如:修改密碼,轉(zhuǎn)賬等

避免:
1. 敏感操作短信驗證碼
2. CSRF  token
    1). CSRF Token 是一種用于防止 CSRF 攻擊的機制。網(wǎng)站會在用戶登錄后,為用戶生成一個隨機的 CSRF Token,并將其存儲在用戶的會話中或者通過 Cookie 返回給用戶。
    2). 在進(jìn)行敏感操作(如修改密碼、更改賬戶信息)時,網(wǎng)站會要求用戶提供這個 CSRF Token。用戶在提交請求時,需要將 CSRF Token 隨請求一同發(fā)送到服務(wù)器。
    3). 服務(wù)器會驗證提交的 CSRF Token 是否與會話中或者 Cookie 中的 Token 匹配,如果匹配則說明請求是合法的,否則拒絕請求。

三、HTTP狀態(tài)及傳輸方式

1. 301與302redirect(重定向)
301 永久重定向
302 暫時重定向
2.?forward 和 redirect 的區(qū)別
1. forward
直接轉(zhuǎn)發(fā) - 客戶端/瀏覽器發(fā)出1次請求,A請求B,B請求C。最后C把信息轉(zhuǎn)發(fā)給了A
2. redirect
間接轉(zhuǎn)發(fā) - 客戶端/瀏覽器發(fā)出2次請求,A請求B,不通并讓請求C,A請求了C
3. tcp和udp
1. TCP面向連接,UDP不面向連接。TCP需要3次握手和4次揮手
2. TCP是穩(wěn)定傳輸,適合小流量,UDP是可能存在丟包,用于大文件傳輸/在線游戲等
4.?OSI 的七層模型
OSI(Open Systems Interconnection)模型是一個網(wǎng)絡(luò)協(xié)議的參考模型,將網(wǎng)絡(luò)通信劃分為七個層次,每個層次負(fù)責(zé)不同的功能。以下是 OSI 模型的七層以及通俗易懂的例子:

1. 物理層(Physical Layer):

負(fù)責(zé)傳輸原始比特流,處理物理連接、電壓、光信號等。
例子:以太網(wǎng)的電纜、光纖、網(wǎng)卡等。

2. 數(shù)據(jù)鏈路層(Data Link Layer):

提供點對點的可靠數(shù)據(jù)傳輸,將比特流分組成幀,并進(jìn)行錯誤檢測和糾正。
例子:以太網(wǎng)幀、Wi-Fi 數(shù)據(jù)幀。

3. 網(wǎng)絡(luò)層(Network Layer):

負(fù)責(zé)尋址和路由,將數(shù)據(jù)包從源主機傳輸?shù)侥繕?biāo)主機。
例子:IP 地址、路由器。

4. 傳輸層(Transport Layer):

提供端到端的數(shù)據(jù)傳輸,負(fù)責(zé)分段、重組和流量控制。
例子:TCP、UDP。

5. 會話層(Session Layer):

管理不同應(yīng)用之間的會話,建立、維護(hù)和終止連接。
例子:會話管理、連接控制。
6. 表示層(Presentation Layer):

負(fù)責(zé)數(shù)據(jù)的格式轉(zhuǎn)換、加密、解密等,確保應(yīng)用之間的數(shù)據(jù)能夠正確解釋。
例子:數(shù)據(jù)壓縮、加密解密。

7. 應(yīng)用層(Application Layer):

最上層,提供用戶應(yīng)用程序的接口,處理用戶數(shù)據(jù)和網(wǎng)絡(luò)通信。
例子:Web 瀏覽器、電子郵件客戶端、文件傳輸協(xié)議(FTP)。
5.?HTTP常見狀態(tài)碼
200 OK: 請求正常
204 No Content:服務(wù)器處理了請求,但是木有任何返回
400 Bad Request:用戶發(fā)送了請求,但是服務(wù)器無法處理;不認(rèn)識看不懂
401 Unauthorized:認(rèn)證失敗,鑒權(quán)過期等
403 Forbidden:請求被拒絕
404 Not Found:請求的鏈接有問題可能,找不到
500 Internal Server Error:服務(wù)器異常了
503 Service Unavailable:服務(wù)器暫時無法處理請求,可能是維護(hù)
504 Service Timeout:服務(wù)器從上游接收消息超時
6. HTTP HTTPS區(qū)別
1. 安全性:https是基于加密傳輸,http明文傳輸
2. 證書:https的網(wǎng)站是基于證書認(rèn)證
3. 端口:http-80,https-443
4. 使用場景:http網(wǎng)站文本查看等,https登錄、支付等
7. HTTPS傳輸過程
1. 客戶端請求服務(wù)端
2. 服務(wù)端收到請求,發(fā)送證書及公鑰
3. 客戶端收到證書后驗證,查看過期時間等等。
    異常提示
    正常繼續(xù),生成隨機數(shù),隨機數(shù)通過公鑰加密傳輸給服務(wù)端
4. 服務(wù)端收到請求后,解密獲取到私鑰,并把數(shù)據(jù)混合在一起通過加密方式傳輸?shù)娇蛻舳?5. 客戶端收到消息,通過私鑰解密,獲取到了信息
8. 三次握手
首先明確過程:
1. 客戶端發(fā)送請求鏈接
2. 服務(wù)端確認(rèn)可以連接,發(fā)送請求和客戶端連接的請求
3. 客戶端收到后發(fā)送給服務(wù)器確認(rèn)可以連接


每個請求類別的字段:
1. 請求需要有SYN標(biāo)志位,默認(rèn)1,每個鏈接都有數(shù)據(jù)包,數(shù)據(jù)包報文號seq
2. 每個確認(rèn)都有ACK的標(biāo)志位,默認(rèn)1,確認(rèn)數(shù)據(jù)包ack=上一次的seq+1(表示我收到了初始序列seq=x的報文);
確認(rèn)也需要有自己的數(shù)據(jù)包報文號seq=[具體情況]


具體過程:
第一次握手:客戶端發(fā)送和服務(wù)端連接的請求:SYN=1,seq=x
第二次握手:服務(wù)端發(fā)送確認(rèn)和客戶端連接,并且發(fā)送服務(wù)端和客戶端建立連接的請求
           ACK=1,ack=x+1;       SYN=1,seq=y
第三次握手:客戶端發(fā)送確認(rèn)可以連接的請求
            ACK=1, ack=y+1,seq=x+1

Java基礎(chǔ)八 - HTTP相關(guān)/Cookie/Session/網(wǎng)絡(luò)攻擊,java,http,開發(fā)語言

9. 為什么要三次握手,2次行不行
廢話文學(xué),特喵的當(dāng)然不行啊?。?!

2次握手可能會導(dǎo)致服務(wù)端消費+建立過期的會話

栗子(假設(shè)只有2次握手的連接):
1. 客戶端發(fā)送了一個數(shù)據(jù)包報文號seq=x的連接請求,但是由于網(wǎng)絡(luò)等等原因,導(dǎo)致服務(wù)端沒有收到。
    也導(dǎo)致了客戶端一直沒有收到服務(wù)端確認(rèn)建立連接的請求
2. 客戶端不得已再次發(fā)送seq=y請求,這次網(wǎng)絡(luò)順暢,服務(wù)端收到后,發(fā)送了確認(rèn)可以連接的請求。成功建立連接. 數(shù)據(jù)傳輸完成之后斷開連接
3. 然而過了一會服務(wù)端收到了seq=x的請求數(shù)據(jù),服務(wù)端很高興又能和他建立連接了,然后建立了一個過期的請求鏈接
?9. 四次揮手
1. 請求結(jié)束會有FIN,回應(yīng)結(jié)束是ACK,ack回復(fù)的時候會有,seq是請求的數(shù)據(jù)報文號

過程:
客戶端發(fā)送結(jié)束的請求:FIN=1,seq=u
服務(wù)端回應(yīng)已收到斷開的請求,此時服務(wù)器還是可以繼續(xù)發(fā)送:ACK=1,ack=u+1,seq=v
服務(wù)端數(shù)據(jù)傳輸完成之后,發(fā)送請求斷開的:FIN=1,seq=w      ACK=1,ack=u+1
客戶端收到斷開請求,并且做回應(yīng):ACK=1,ack=w+1, seq=u+1

Java基礎(chǔ)八 - HTTP相關(guān)/Cookie/Session/網(wǎng)絡(luò)攻擊,java,http,開發(fā)語言

?文章來源地址http://www.zghlxwxcb.cn/news/detail-665476.html

到了這里,關(guān)于Java基礎(chǔ)八 - HTTP相關(guān)/Cookie/Session/網(wǎng)絡(luò)攻擊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java 實戰(zhàn)介紹 Cookie 和 Session 的區(qū)別

    HTTP 是一種不保存狀態(tài)的協(xié)議,即無狀態(tài)協(xié)議,HTTP 協(xié)議不會保存請求和響應(yīng)之間的通信狀態(tài),協(xié)議對于發(fā)送過的請求和響應(yīng)都不會做持久化處理。 無狀態(tài)協(xié)議減少了對服務(wù)壓力,如果一個服務(wù)器需要處理 百萬級用戶 的請求狀態(tài),對服務(wù)器的壓力無疑的是巨大的。 無狀態(tài)的

    2024年02月08日
    瀏覽(16)
  • 【網(wǎng)絡(luò)應(yīng)用層協(xié)議】【HTTP】詳解HTTP與HTTPS、POST 請求與 GET請求 、TCP與UDP、cookie和session的區(qū)別

    目錄 1. HTTP和HTTPS的區(qū)別 2. POST 請求與 GET 請求區(qū)別 3. TCP與UDP的區(qū)別 4. cookie和session的區(qū)別

    2024年04月14日
    瀏覽(38)
  • HTTP之Session、Cookie 與 Application

    HTTP之Session、Cookie 與 Application

    cookie、seesion、application三個都會緩存我們用戶狀態(tài)的數(shù)據(jù),使得我們在瀏覽器訪問網(wǎng)站時可以更快速的獲取到信息。 主要原因在于HTTP協(xié)議是無狀態(tài)的,我們每次訪問服務(wù)器,對于服務(wù)器來說都是一個單獨的請求,沒有上下文的聯(lián)系。以淘寶登錄的例子來說明: 假如我們輸入

    2024年02月14日
    瀏覽(17)
  • web學(xué)習(xí)--登錄認(rèn)證--會話技術(shù)--cookie--session--令牌--java-jwt使用--jjwt使用

    web學(xué)習(xí)--登錄認(rèn)證--會話技術(shù)--cookie--session--令牌--java-jwt使用--jjwt使用

    前置學(xué)習(xí): http springmvc 會話:用戶打開瀏覽器,訪問web服務(wù)器資源,會話建立,直到有一方斷開連接會話結(jié)束,一次會話可以多次請求和連接 會話跟蹤:一種維護(hù)瀏覽器狀態(tài)的方式,服務(wù)器需要識別多次請求是否來自同一瀏覽器,以便同一次會話多次請求間共享數(shù)據(jù)。 cooki

    2024年02月15日
    瀏覽(50)
  • HTTP請求中token、cookie、session有什么區(qū)別

    HTTP請求中token、cookie、session有什么區(qū)別

    ?cookie HTTP 無狀態(tài)的,每次請求都要攜帶 cookie ,以幫助識別身份 服務(wù)端也可以向客戶端 set-cookie , cookie 大小 4kb 默認(rèn)有跨域限制:不可跨域共享,不可跨域傳遞 cookie (可通過設(shè)置 withCredential 跨域傳遞 cookie ) cookie本地存儲 HTML5 之前 cookie 常被用于本地存儲 HTML5 之后推薦使用

    2024年02月08日
    瀏覽(25)
  • 會話跟蹤技術(shù)學(xué)習(xí)筆記(Cookie+Session)+ HTTP學(xué)習(xí)筆記

    會話跟蹤技術(shù)學(xué)習(xí)筆記(Cookie+Session)+ HTTP學(xué)習(xí)筆記

    1.1 Cookie 1. Cookie:是一種客戶端會話技術(shù),數(shù)據(jù)會被保存在客戶端,Cookie會攜帶數(shù)據(jù)訪問服務(wù)器,用以完成一次會話內(nèi)多次請求間的數(shù)據(jù)共享 2. 過程:瀏覽器(客戶端)先向服務(wù)端發(fā)送請求,服務(wù)端會發(fā)送一個Cookie給客戶端,在此后同一次會話中,每次客戶端都會將Cookie發(fā)送

    2024年02月10日
    瀏覽(26)
  • http 請求報文響應(yīng)報文的格式以及Token cookie session 區(qū)別

    HTTP 請求報文和響應(yīng)報文的格式如下: HTTP 請求報文格式: 方法 : 請求方法,例如 GET、POST、PUT、DELETE 等。 路徑 : 請求的路徑,表示需要訪問的資源。 協(xié)議版本 : 使用的協(xié)議版本,通常是 HTTP/1.1 或 HTTP/2。 請求頭部字段:包含了關(guān)于請求的附加信息,每個字段由字段名和對

    2024年02月16日
    瀏覽(21)
  • 跨越HTTP無狀態(tài)邊界:Cookie與Session在Django中的實戰(zhàn)應(yīng)用

    本文深入探索了Django中的Cookie和Session,解析了如何應(yīng)對HTTP協(xié)議的無狀態(tài)性問題,說明其基礎(chǔ)概念,分析工作原理,并討論何時應(yīng)選擇使用Cookie或Session。文章進(jìn)階部分,提出高效管理Cookie和Session,以及如何利用它們進(jìn)行用戶身份驗證。 HTTP,即超文本傳輸協(xié)議,是一種應(yīng)用層

    2024年02月13日
    瀏覽(24)
  • Websocket、Session&Cookie、前端基礎(chǔ)知識

    Websocket、Session&Cookie、前端基礎(chǔ)知識

    目錄 1.Websocket Websocket與HTTP的介紹 不同使用場景 Websocket鏈接過程 2.SessionCookie Cookie的工作原理 Session的工作原理 區(qū)別 3.前端基礎(chǔ)知識 HTTP: 1. HTTP 是單向的,客戶端發(fā)送請求,服務(wù)器發(fā)送響應(yīng)。每個 HTTP 或 HTTPS 請求每次都會新建與服務(wù)器的連接,并且在獲得響應(yīng)后,連接將自

    2024年02月10日
    瀏覽(48)
  • Web架構(gòu)安全分析/http/URL/Cookie攻擊

    Web架構(gòu)安全分析/http/URL/Cookie攻擊

    傳統(tǒng) Web 架構(gòu) LAMP 網(wǎng)頁 概念 網(wǎng)頁就是我們可以通過瀏覽器上網(wǎng)看到的精美頁面,一般都是經(jīng)過瀏覽器渲染過的 .html 頁面,html 語言在瀏覽器中渲染。其中包含了CSS、JavaScript 等前端技術(shù)。通過瀏覽器訪問的 Web 頁面大部分都是 HTML 頁面。 靜態(tài)網(wǎng)頁 靜態(tài)的網(wǎng)頁,都是一些 .htm

    2024年02月05日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包