原创 Web安全防護(二)

點擊劫持 點擊劫持,也稱UI覆蓋攻擊 1.1 iframe覆蓋攻擊 黑客創建一個網頁,用iframe包含了目標網站,並且把它隱藏起來。做一個僞裝的頁面或圖片蓋上去,且按鈕與目標網站一致,誘導用戶去點擊。僞裝的按鈕背後可能就會執行了危險操作。

原创 Web安全攻防(一)XSS注入和CSRF

跨站腳本攻擊(XSS) XSS(Cross Site Scripting),爲不和層疊樣式表CSS混淆,故將跨站腳本攻擊縮寫爲XSS。 攻擊原理: 惡意攻擊者往Web頁面裏插入惡意Script代碼,當用戶瀏覽該頁面時,嵌入其中的Scrip

原创 簡單瞭解HTTPS

HTTPS HTTPS並非是應用層一個新的協議,通常HTTP直接和TCP通信,HTTPS則先和安全層(SSL、TLS)通信,然後安全層再和TCP層通信。 可以看出HTTPS就是在HTTP的基礎上增加了一層SSL/TLS那麼SSL都起了什麼

原创 程序員該知道的HTTP

HTTP 1.1 HTTP報文 HTTP 報文是在 HTTP應用程序之間發送的數據塊(用於HTTP協議交互的信息)。請求端(客戶端)的HTTP報文叫做請求報文,響應端(服務器端)的叫做響應報文。 報文參數介紹: Remote Addres

原创 五大分佈式場景解決方案

一、一致性Hash算法 Hash算法,散列函數,顧名思義,它是一個函數。如果把它定義成 hash(key) ,其中 key 表示元素的鍵值,則 hash(key) 的值表示經過散列函數計算得到的散列值。 常見的Hash算法如:MD5、SHA

原创 Tomcat高級特性及性能調優

Tomcat對Https的支持 HTTPS簡介 Https,是以安全爲目標的Http通道,在Http的基礎上通過傳輸加密和身份認證保證了傳輸的安全性。HTTPS在HTTP的基礎上加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內

原创 Nginx應用場景配置

Nginx應用全入門 基礎回顧 Nginx是什麼? Nginx是一個高性能的HTTP和反向代理web服務器,特點是內存少,併發能力強 Nginx能做什麼 Http服務器(Web服務器) 反向代理服務器 負載均衡 動靜分離 Ngin

原创 tomcat架構分析及配置詳解

瀏覽器訪問服務器的流程 請求發起的過程: 注意:瀏覽器訪問服務器使用的是http協議,http是應用層協議,而具體傳輸還是使用的TCP/IP協議 Tomcat系統總架構 2.1 Tomcat請求處理過程 一個http請求過來,Tomca

原创 SpringSecurity基礎場景應用大全

SpringSecurity應用 目錄SpringSecurity應用pring Security 功能簡介SpringSecurity認證基本原理表單認證3.1 自定義表單登錄頁3.2 基於數據庫實現認證功能3.3 數據庫用戶密碼加密認證

原创 SpringBoot基礎應用

SpringBoot SpringBoot概念 SpringBoot是基於Spring開發的,Spring Boot的設計是爲了讓你儘可能快的跑起來Spring應用程序並且儘可能減少你的配置。 它的設計思想是:約定大於配置 SpringBo

原创 深入瞭解SpringMVC源碼解析

Spring MVC源碼解析 Spring MVC的使用原理其實是通過配置一個Servlet來接管所有的請求,所有的請求由這個Servlet來進行分發處理。 我們可以從web.xml裏面看出這一點 <servlet> <se

原创 Spring MVC高級應用

Spring MVC高級應用 1. 攔截器使用 監聽器、過濾器、攔截器對比 Servlet: 處理Request請求和Response響應 監聽器 實現了javax.servlet.ServletContextListener接口的服務

原创 Spring MVC應用

Spring MVC簡介 1.1 經典三層結構 在JavaEE開發中,幾乎全部都是基於B/S架構的開發。那麼在B/S架構中,系統標準的三層架構包括:表現層、業務層、持久層。三層架構在我們的實際開發中使用的非常多,接下來我們詳細瞭解下這三層架

原创 Spring AOP及事務配置三種模式詳解

Spring AOP簡述 Spring AOP的設計思想,就是通過動態代理,在運行期對需要使用的業務邏輯方法進行增強。 使用場景如:日誌打印、權限、事務控制等。 默認情況下,Spring會根據被代理的對象是否實現接口來選擇使用JDK還是CG

原创 深入理解Spring IOC源碼分析

Spring容器初始化 本文使用的是Spring 5.1.7版本 寫在前面:我們看源碼一般有3種方式。 第一種直接用class文件,IDEA會幫我們反編譯成看得懂的java代碼 第二種是用maven的download Sources 第三