賬號被盜?可能不是你的原因!網站跨域要做好!
跨域案例:
案例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(當然了,方案不是固定的,這里只說一種)