前端安全性問題和解決防範

2021-10-06 03:49:19 字數 1579 閱讀 9516

示例:

解決方案:(使用正則匹配去除某些字串、過濾網域名稱)

function

filterxss

(str,regexp)

return filtervalue;

}

方案總結1、輸入過濾:在js中對使用者輸入的資料進行過濾

2、將輸出的字串中的反斜槓進行轉義

3、從url中獲取的資訊,在前端進行轉義後再輸出

4、使用cookie的onlyhttp屬性

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

以使用者的名義偽造請求傳送給被攻擊站點,從而在未授權的情況下進行許可權保護的操作。

解決方案1、客戶端帶乙個特定標識到服務端,比如token,服務端檢查token

2、服務端判斷refer,對refer的網域名稱進行過濾和攔截(referer check:檢查請求**來防禦csrf)

refer指向原則

1、在a.html裡面傳送了ab.json請求,則服務端拿到的refer位址是a.html的位址,即當前頁面的html位址

2、直接在瀏覽器裡面輸入該位址(html或者json),則refer為空

3、從上個頁面a.html跳轉到b.html,則b.html的refer位址為a.html

sql注入的本質:資料和**未分離,即資料當做了**來執行。

應用程式在向後台資料庫傳遞sql時,攻擊者將sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行的惡意sql命令。

解決方案

1、防止系統敏感資訊洩露:該方法主要是在後台實現

2、資料轉義

3、增加黑名單或白名單驗證

解決方案

1、檢查伺服器是否判斷了上傳檔案型別及字尾

2、定義上傳檔案型別白名單

3、檔案上傳目錄禁止直行指令碼解析

os命令注入攻擊指通過web應用,執行非法的作業系統命令達到攻擊的目的。

如何防禦

1、後端對前端提交內容進行規則限制(比如正規表示式)

2、在呼叫系統命令前對所有傳入引數進行命令列引數轉義過濾

3、不要直接拼接命令語句,借助一些工具做拼接、轉義預處理,例如node.js的shell-escape npm包

前端安全性問題

csrf cross site request forgery 即跨站請求偽造是一種常見的web攻擊。攻擊原理 a 使用者開啟瀏覽器,訪問受信任 a,輸入使用者名稱和密碼請求登入 a b 在使用者資訊通過驗證之後,a產生cookie資訊並返回給瀏覽器,此時使用者登入 a成功,可以正常傳送請求到 a ...

安全性問題

更改預設密碼 大量關鍵資訊 金融的 市場的 私人的 難以置信地在 inter 上失竊,不僅因為不夠嚴密的安全體系結構,還因為不負責任地留下了資料庫和系統的預設安裝密碼。如果您不希望成為上述的一員,一定要更改 rdbms windows nt 計算機和其他資源中眾所周知的使用者預設登入密碼。檢查入口處...

執行緒安全性問題

相同的票數,比如5這張票被賣了多回。不存在的票,比如0票與 1票,是不存在的。這種問題,幾個視窗 執行緒 票數不同步了,這種問題稱為執行緒不安全。執行緒安全問題都是由全域性變數及靜態變數引起的。若每個執行緒中對全域性變數 靜態變數只有讀操作,而無寫操作,一般來說,這個全域性變數是執行緒安全的 若有多...