跨域案例:

案例1:

有一些黑客利用iframe技術將支付寶,銀行等真正的登錄頁面嵌套到黑客自己的頁面里面,這樣的話,如果你的網站沒有同源限制,那么你所輸入的用戶名密碼就被黑客利用JavaScript腳本輕易的獲取走了,從而造成不必要的損失。

案例2:

我們都知道http請求沒有https安全,因為https是加證書校驗過得請求,對于諸多項目升級這個https改造時候也是一個比較關鍵的問題所在。

網站跨域

以上說的就是跨域策略的問題,跨域涉及到網站以及網站用戶數據安全性,如果處理不好,很容易導致數據泄露,給公司帶來損失。

跨域解釋:

我們都知道在JavaScript當中,存在一個很重要的限制(同源策略),學名:"Same-Origin Policy"。

這個策略對你在系統中能夠訪問到的頁面做了嚴格的控制,比如js只能訪問同域下的內容,不同的域之間禁止訪問等。

舉個實際的例子就是你在contact.beijingdesigner.com里面不能向app.beijingdesigner.com提交請求。

網站跨域

跨域方案:

(1) 添加注解解決跨域問題

@CrossOrigin(origins = "contact.beijingdesigner.com", maxAge = 3600)

這就表示允許接受域名contact.beijingdesigner.com發過來的請求。

(2) 使用filter允許跨域訪問

類實現Filter,重寫doFilter方法設置允許跨域

(3) 針對springboot內置tomcat的解決方案

需要在application.yml文件里面添加幾行配置:

server.tomcat.remote_ip_header=x-forwarded-for  server.tomcat.protocol_header=x-forwarded-proto  server.tomcat.port-header=X-Forwarded-Port  server.use-forward-headers=true

(4) 外置tomcat解決方案

也有的是將springboot項目打成一個war包放到了tomcat里面進行。

這樣要想解決跨域問題,就得在外置tomcat里面進行設置filter(當然了,方案不是固定的,這里只說一種)