前端安全問題

? ? ? ?這段時間準(zhǔn)備復(fù)習(xí)一下前端知識,查漏補缺。不知道從哪里下手,畢竟自己在前端的領(lǐng)域里還只是小白,前端的知識領(lǐng)域可以說是浩如煙海也不過分。不過既然自己選擇了這條路,那么就堅持走下去吧。加油。

第一個復(fù)習(xí)的知識點,是前端的安全問題,這個問題是在工作中敲代碼經(jīng)常會拋擲腦后的問題,但是面試又幾乎必問的問題。

(1)xss攻擊

目前俺做的這些項目里還沒有受到過神馬攻擊,但是為了適應(yīng)現(xiàn)代化前端的成長需求,這方面的只是還是應(yīng)該具備的。

諸如:攻擊者輸入input框時,在里面填寫“javascript:"這樣的字符串,或者“<script></script>”標(biāo)簽之類的,發(fā)送給后臺后存儲到數(shù)據(jù)庫,然后呢,當(dāng)其他用戶進(jìn)來的時候,瀏覽器解析從服務(wù)器得來的代碼,瀏覽器會將惡意注入的代碼解析運行。產(chǎn)生的后果,就是會惡意執(zhí)行程序影響用戶體驗和竊取用戶數(shù)據(jù)等等。

預(yù)防的方法:

1.前端要根據(jù)業(yè)務(wù)需求進(jìn)行嚴(yán)格的驗證,比如要求email格式的input框就只能是email.

2.后臺coder對于前端發(fā)送過去的數(shù)據(jù)要進(jìn)行過濾和消炎之后再存入數(shù)據(jù)庫。

3.與業(yè)務(wù)有關(guān)的數(shù)據(jù),盡量不要在頁面中顯示,前端創(chuàng)建html靜態(tài)頁面,通過ajax調(diào)用api實現(xiàn)數(shù)據(jù)展示。前后端完全分離,不要用后臺代碼在頁面上直接調(diào)取數(shù)據(jù)。

前面三條是我們平時在開發(fā)中都能做到的,所以規(guī)范的開發(fā)本身就是預(yù)防xss攻擊的有效方式。

另外還有一點:

4.針對不同的業(yè)務(wù)規(guī)定,前端可以對不符合規(guī)范的字符串和特殊符號進(jìn)行過濾,>>>>>>這里使用escapeHTML()方法

(2)csrf攻擊

這個攻擊方式也是面試中常見的一個問題。

跨域請求偽造,意思就是用戶在自己想要訪問的網(wǎng)站上,比如自己的郵箱里面,點開一個黑客發(fā)送的惡意的鏈接,這個鏈接的頁面會有你點擊進(jìn)去之后就獲取你的cookie信息的惡意代碼,這幾行代碼其實很簡單,會將你的cookie值set到頁面的input中然后促發(fā)submit事件,將帶有你cookie值的信息發(fā)送到攻擊者哪里,攻擊者就可以通過你的個人信息逃過系統(tǒng)驗證訪問B網(wǎng)站。

預(yù)防:

根據(jù)業(yè)務(wù)需求,在交互中強制用戶輸入驗證碼

(3)SQL注入

在用戶攝入界面注入sql語句在服務(wù)器端運行,惡意攻擊服務(wù)器獲取用戶數(shù)據(jù)。

預(yù)防:

1.設(shè)置php.ini選項display_errors = off,防止php腳本出錯之后,在web頁面輸出敏感信息錯誤。

2.數(shù)據(jù)轉(zhuǎn)移,

3.增加黑名單或白名單驗證。

對于sql注入,這里前端要解決的是去除input的特殊字符,做好驗證。然后其他的交給后臺驗證。至于后臺的黑名單白名單驗證,目前我還不是很懂,過兩天看一看,然后再來補充。

(4)文件上傳漏洞

惡意上傳帶有腳本的文件,在服務(wù)器端運行。

預(yù)防:

1.前端需要驗證上傳文件是否是指定的類型后綴名。

2.后臺文件上傳目錄禁止執(zhí)行腳本解析。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 跨站腳本攻擊(XSS攻擊) 原理:惡意攻擊者往Web頁面里注入惡意Script代碼,用戶瀏覽這些網(wǎng)頁時,就會執(zhí)...
    RosalindJuan閱讀 542評論 1 0
  • 原文鏈接:https://mawei.blog/post/frontend-security-vulnerabil...
    獨自旅行閱讀 2,216評論 1 15
  • 當(dāng)我們說“前端安全問題”的時候,我們在說什么 “安全”是個很大的話題,各種安全問題的類型也是種類繁多。如果我們把安...
    ThoughtWorks閱讀 1,877評論 0 40
  • “安全”是個很大的話題,各種安全問題的類型也是種類繁多。如果我們把安全問題按照所發(fā)生的區(qū)域來進(jìn)行分類的話,那么所有...
    魂斗羅小黑閱讀 163評論 0 0
  • 曾經(jīng)從未覺得自己是適合的,也從未發(fā)覺這是自己真正想要堅持下去的事情,但,卻在后來的不斷堅持后發(fā)現(xiàn),原來,我是那么...
    消失著閱讀 447評論 4 2

友情鏈接更多精彩內(nèi)容