前端常見一些安全問題及解決方案


今天小編給大家說說前端常見一些安全問題及解決方案,有興趣的小伙伴可以了解一下!

 

一、CSRF安全漏洞

CSRF是通過仿造客戶端的請求獲取信息的,對於jsonp的請求,客戶端確實可以仿造,但是因為對於ajax的請求,有同源策略限制,已經做了域名過濾,所以一般不會有問題。

 

解決方案:

1、檢查報頭中的referer參數確保請求發自正確的網站
(但XHR請求課調用setRequestHeader方法來修改Referer報頭)

2、對於任何重要的請求都需要重新驗證用戶的身份;

3、創建一個唯一的令牌(token),將其存在服務端的session中及客戶端的cookie中,

對任何請求, 都檢查二者是否一致。

 

二、XSS安全漏洞

通過URL帶入的,這種帶入主要是前端解析url中的參數,並對數參數執行了innerHTML 或者 html 或者 append 操作。在將參數html()或者append()到html文件中時,會執行其中的js代碼,被錯誤用戶獲取到cookie等信息。

示例:

原始鏈接 : https://xx.xxx.com/efly.html?link=cc
被XSS注入以后的鏈接 : https://xx.xxx.com/efly.html?link=eeec<img src=1 onerror=alert(document.cookie)>

 

 解決

使用正則匹配去除某些字符串、過濾域名
function filterXss(str, regExp){
  // let regex = /<(\S*?)[^>]*>.*?|<.*? \/>/gi;
  // 去除包含<>內容的,防止xss漏洞
  let filterValue = str.replace(/<.*?>/g,'');
  // 去除<開頭類型的xss漏洞
  filterValue = str.replace(/<+.*$/g,'');

  if(regExp && !regExp.test(filterValue)){
    filterValue = '';
  }
  return filterValue;
}

 

本期內容就到這里,下期我們再來討論一下別的話題哈~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM