史上最詳細前端安全

2022-04-09 05:53:13 字數 1773 閱讀 6368

前端不需要過硬的網路安全方面的知識,但是能夠了解大多數的網路安全,並且可以進行簡單的防禦前兩三個是需要的

介紹一下常見的安全問題,解決方式,和小的demo,希望大家喜歡

在我看來,前端可以了解並且防禦前4個就可以了(小聲逼逼:大佬當我沒說)

cross site scripting 又叫做跨站指令碼攻擊,本身應該叫做css,但是由於css被占用,無奈下叫做xss

我們先從字面意義上看一下,跨站->顧名思義就是我們從乙個**跑到了另外乙個**上,指令碼->也就是我們往頁面中寫了指令碼內容,可以理解為寫了js**,那麼最後我們對**造成了攻擊

例如: 我們在登入了乙個**之後,一般都會把登入狀態儲存在cookie中,當我們去訪問另外乙個**的時候,就會讀取到cookie

// 普通

// alert嘗試

http://localhost:3000/?from=// 如果可以彈出3,證明這個輸入框沒有過濾html標記

模擬獲取cookie

http://localhost:3000/?from=
sql是我們學習資料庫的一種語言,而注入就代表是從前端對資料庫下手

下面這段**可以看出來,當我們進行字串拼接(拼接sql語句的時候),會出現一種類似於管道符的bug, 1|0,那麼這句話為恒為真

// 填⼊特殊密碼

1'or'1'='1

// 拼接後的sql

select *

from test.user

where username = 'laowang'

and password = '1'or'1'='1'

其實防禦起來很簡單,每個語言都提供了不同的方式,但是原理就是不進行字串拼接,而是用佔位符

os命令注⼊和sql注⼊差不多,只不過sql注⼊是針對資料庫的,⽽os命令注⼊是針對作業系統的。os命令注⼊攻擊指通過web應⽤,執⾏⾮法的作業系統命令達到攻擊的⽬的。只要在能調⽤shell函式的地⽅就有存在被攻擊的⻛險。倘若調⽤shell時存在疏漏,就可以執⾏插⼊的⾮法命令。

const exec = require('mz/child_process').exec;

let params = ;

exec(`git clone $ /some/path`);

如果引數是

&& rm -rf /* &&
distributed denial of service 分布式系統攻擊

ddos 不是⼀種攻擊,⽽是⼀⼤類攻擊的總稱。它有⼏⼗種型別,新的攻擊⽅法還在不斷發明出來。⽹站運⾏的各個環節,都可以是攻擊⽬標。只要把⼀個環節攻破,使得整個流程跑不起來,就達到了癱瘓服務的⽬的。

其中,⽐較常⻅的⼀種攻擊是 cc 攻擊。它就是簡單粗暴地送來⼤量正常的請求,超出伺服器的最⼤承受量,導致宕機。我遭遇的就是 cc 攻擊,最多的時候全世界⼤概20多個 ip 位址輪流發出請求,每個位址的請求量在每秒200次~300次。我看訪問⽇志的時候,就覺得那些請求像洪⽔⼀樣湧來,⼀眨眼就是⼀⼤堆,⼏分鐘的時間,⽇志⽂件的體積就⼤了100mb。說實話,這只能算⼩攻擊,但是我的個⼈⽹站沒有任何防護,伺服器還是跟其他⼈共享的,這種流量⼀來⽴刻就下線了。

說白了花錢解決

史上最詳細https配置

https不僅僅是安全的一種體現,更是一種裝逼體現,然而網上的https配置大全沒有乙個靠譜的,關鍵是他們配置https怎麼就不知道截圖了?第一步 獲取https證書 然後有個免費申請網域名稱的入口,企鵝說免費應該是免費的 進入這個入口 然後我們選擇圖上型別的證書,有效期1年 自己玩,如果企業證書的...

史上最詳細webpack講解

webpack是前端方面的靜態資源打包工具,能夠讓瀏覽器也支援模組化,他會根據模組的依賴關係進行靜態分析,然後按照某種規則生成靜態資源 安裝webpack 安裝webpack npm install g webpack 或者 安裝最新版webpack npm install g webpack 如果...

史上最詳細的C 函式指標

每乙個函式都占用一段記憶體單元,它們有乙個起始位址,指向函式入口位址的指標稱為函式指標 指向函式的指標變數的一般定義形式為 資料型別 指標變數名 參數列 1 函式指標的定義形式中的資料型別是指函式的返回值的型別。2 區分下面兩個語句 int p int a,int b p是乙個指向函式的指標變數,所...