最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node常見的三種安全防范手段詳解

 更新時間:2023年02月13日 11:03:52   作者:Ali2333  
這篇文章主要為大家介紹了Node常見的三種安全防范手段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、前言

本人主要是講解在開發(fā)Node服務端的時候, 三種關(guān)于安全方面的處理

二、預防方式

1、 sql注入

這是一個最原始也最簡單的攻擊, 從 web2.0 開始有了人機交互后就出現(xiàn)的一種攻擊方式

其主要是通過輸入 sql 片段, 最終拼接成一段攻擊的 sql 代碼

當我們使用 node 連接到數(shù)據(jù)庫的時候, 通常會在 node 端寫 sql 語句來進行數(shù)據(jù)庫查詢, 例如下方

-- 這是一個簡易的登錄判斷sql語句, 輸入 username 和 password 在 users 表中進行用戶登錄驗證,  然后獲取用戶的地址和年齡
select address, age from users where username=${username} and password=${password}

但是如果我在 username 中做點手腳 使他傳入的是一個sql語句這樣就極其的危險

-- username 輸入為 ali -- 
-- 上面這段 sql 就會被解析成這樣 
select address, age from users where username=ali -- and password=${password}

看上面的代碼片段可以發(fā)現(xiàn), -- 在sql中是屬于注釋的存在, 所以如果當我在 sql 查詢動態(tài)獲取用戶輸入的 username 字段中, 如果結(jié)尾是 -- 就會把后面password的條件驗證去掉

也就是代表用戶無論輸入什么 password, 只要 username 字段在數(shù)據(jù)庫中存在就可以拿到對應的信息

當然攻擊者也可以在后面繼續(xù)拼接刪庫的 sql 語句,這其實是更加危險的

-- username 輸入為 ali; delete from users where username="ali" --
-- 就會拼接成下面這種語句 這是極其危險的
select address, age from users where username=ali; delete from users where username="ali" -- and password=${password}

處理方案

在 node 開發(fā)中連接數(shù)據(jù)庫, 拼接sql語句是使用 mysql 這個npm包, 所以在這個包中也有對應 sql注入 攻擊的處理函數(shù)

可以使用 mysql.escape函數(shù) , 對所有來源于前端的數(shù)據(jù)進行包裹一層, 這個函數(shù)會把 -- 或者其他的特殊字符進行轉(zhuǎn)義,這樣就不會出現(xiàn)在sql語句中會有注釋的情況

2、xss 攻擊

這個攻擊我們作為前端應該是很熟悉的了

其攻擊方式就是在頁面的展示內(nèi)中摻雜 Js 的代碼以獲取網(wǎng)頁信息

在我們開發(fā) Node 服務端的時候, 對前端傳來的數(shù)據(jù)統(tǒng)統(tǒng)處理一下就行了 ,也就是進行特殊字符轉(zhuǎn)義 (所有的轉(zhuǎn)義字符后都需要 加上;這個特殊符號 由于無法演示 我截圖的時候去掉了

處理方案

開發(fā) Node 服務端,使用 xss 這個npm包,把前端傳入的數(shù)據(jù)都使用這個包裹一下就行

3、密碼加密

假如我們數(shù)據(jù)庫被入侵, 其中最不應該泄露的就是用的信息了

因為攻擊者可以拿著用戶的賬戶密碼去嘗試登錄其他的系統(tǒng)

處理方式

這個就需要在數(shù)據(jù)庫不用明文存儲用戶的密碼信息, 在存入數(shù)據(jù)庫之前把密碼通過自定義 key 加密一下, 當然這個 key 需要你自己獨享 不能泄露

或者通過其他密碼算法加密也是可以的

三、結(jié)語

最近也是在學習 Node 相關(guān)的知識, 以上就是關(guān)于開發(fā) Node 服務端,常見的三種安全防范手段

以上就是Node常見的三種安全防范手段詳解的詳細內(nèi)容,更多關(guān)于Node安全防范的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Node.js中如何合并兩個復雜對象詳解

    Node.js中如何合并兩個復雜對象詳解

    下面這篇文章主要給大家介紹了在Node.js中如何合并兩個復雜對象的方法,文中給出了詳細的示例代碼,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友可以參考,下面來一起看看吧。
    2016-12-12
  • NodeJs生成sitemap站點地圖的方法示例

    NodeJs生成sitemap站點地圖的方法示例

    這篇文章主要介紹了NodeJs生成sitemap站點地圖的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 淺析node.js中close事件

    淺析node.js中close事件

    本文簡單介紹了http.ServerRespose對象的close事件,并給出了相關(guān)實例,推薦給需要的小伙伴參考下吧。
    2014-11-11
  • Node.js 使用 gRPC從定義到實現(xiàn)過程詳解

    Node.js 使用 gRPC從定義到實現(xiàn)過程詳解

    gRPC是一個高性能、開源的遠程過程調(diào)用(RPC)框架,由 Google 開發(fā),它支持多種編程語言,旨在簡化和優(yōu)化分布式系統(tǒng)中的服務通信,本文給大家介紹Node.js 使用 gRPC從定義到實現(xiàn)過程,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 使用iojs的jsdom庫實現(xiàn)同步系統(tǒng)時間

    使用iojs的jsdom庫實現(xiàn)同步系統(tǒng)時間

    本文給大家分享的是使用iojs的jsdom庫實現(xiàn)與http://open.baidu.com/special/time/ 同步系統(tǒng)時間。思路非常的清晰,這里推薦給大家,有需要的小伙伴可以參考下。
    2015-04-04
  • Windows 系統(tǒng)下安裝和部署Egret的開發(fā)環(huán)境

    Windows 系統(tǒng)下安裝和部署Egret的開發(fā)環(huán)境

    Egret基于TypeScript開發(fā)的,而TypeScript編譯工具tsc是基于Node.js 開發(fā)的。所以在安裝過程中,我們先需要對于基礎(chǔ)支持工具進行安裝。
    2014-07-07
  • 深入了解Node.js中的一些特性

    深入了解Node.js中的一些特性

    這篇文章主要介紹了深入了解Node.js中的一些特性,本文對EventEmitter、Streams、Coding Style、Linting、Coding Style等特性進行分析探討,需要的朋友可以參考下
    2014-09-09
  • nodejs(officegen)+vue(axios)在客戶端導出word文檔的方法

    nodejs(officegen)+vue(axios)在客戶端導出word文檔的方法

    這篇文章主要介紹了nodejs(officegen)+vue(axios)在客戶端導出word文檔的方法,需要的朋友可以參考下
    2018-07-07
  • 簡單實現(xiàn)node.js圖片上傳

    簡單實現(xiàn)node.js圖片上傳

    這篇文章主要為大家詳細介紹了node.js圖片上傳的簡單實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Nodejs全??蚣躍trongLoop推薦

    Nodejs全棧框架StrongLoop推薦

    StrongLoop基本提供了制作一個移動產(chǎn)品所有的框架和工具,從標準的Backend server,Devops,應用監(jiān)控,。要想介紹完全StrongLoop的所有產(chǎn)品得寫一個長篇連載了,這里只簡單的瀏覽一遍。
    2014-11-11

最新評論

扶绥县| 宾川县| 牙克石市| 洛浦县| 托里县| 尼玛县| 普宁市| 盈江县| 张家口市| 韩城市| 乌海市| 太原市| 贵南县| 晋州市| 长海县| 灵宝市| 罗定市| 兰州市| 新邵县| 自贡市| 金堂县| 武穴市| 大竹县| 郴州市| 逊克县| 德昌县| 宁阳县| 阿坝县| 二连浩特市| 隆尧县| 易门县| 临潭县| 无锡市| 湘潭市| 安平县| 巢湖市| 剑川县| 南安市| 富川| 邯郸县| 仙桃市|