iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node常见的三种安全防范手段详解
  • 431
分享到

Node常见的三种安全防范手段详解

Node安全防范Node安全 2023-02-13 12:02:41 431人浏览 泡泡鱼
摘要

目录一、前言二、预防方式1、 sql注入处理方案2、xss 攻击处理方案3、密码加密处理方式三、结语一、前言 本人主要是讲解在开发node服务端的时候, 三种关于安全方面的处理 二

一、前言

本人主要是讲解在开发node服务端的时候, 三种关于安全方面的处理

二、预防方式

1、 sql注入

这是一个最原始也最简单的攻击, 从 WEB2.0 开始有了人机交互后就出现的一种攻击方式

其主要是通过输入 sql 片段, 最终拼接成一段攻击的 sql 代码

当我们使用 node 连接到数据库的时候, 通常会在 node 端写 sql 语句来进行数据库查询, 例如下方

-- 这是一个简易的登录判断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}

看上面的代码片段可以发现, -- 在sql中是属于注释的存在, 所以如果当我在 sql 查询动态获取用户输入的 username 字段中, 如果结尾是 -- 就会把后面password的条件验证去掉

也就是代表用户无论输入什么 password, 只要 username 字段在数据库中存在就可以拿到对应的信息

当然攻击者也可以在后面继续拼接删库的 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 开发中连接数据库, 拼接sql语句是使用 mysql 这个npm包, 所以在这个包中也有对应 sql注入 攻击的处理函数

可以使用 Mysql.escape函数 , 对所有来源于前端的数据进行包裹一层, 这个函数会把 -- 或者其他的特殊字符进行转义,这样就不会出现在sql语句中会有注释的情况

2、xss 攻击

这个攻击我们作为前端应该是很熟悉的了

其攻击方式就是在页面的展示内中掺杂 js 的代码以获取网页信息

在我们开发 Node 服务端的时候, 对前端传来的数据统统处理一下就行了 ,也就是进行特殊字符转义 (所有的转义字符后都需要 加上;这个特殊符号 由于无法演示 我截图的时候去掉了

处理方案

开发 Node 服务端,使用 xss 这个npm包,把前端传入的数据都使用这个包裹一下就行

3、密码加密

假如我们数据库被入侵, 其中最不应该泄露的就是用的信息了

因为攻击者可以拿着用户的账户密码去尝试登录其他的系统

处理方式

这个就需要在数据库不用明文存储用户的密码信息, 在存入数据库之前把密码通过自定义 key 加密一下, 当然这个 key 需要你自己独享 不能泄露

或者通过其他密码算法加密也是可以的

三、结语

最近也是在学习 Node 相关的知识, 以上就是关于开发 Node 服务端,常见的三种安全防范手段

以上就是Node常见的三种安全防范手段详解的详细内容,更多关于Node安全防范的资料请关注编程网其它相关文章!

--结束END--

本文标题: Node常见的三种安全防范手段详解

本文链接: https://www.lsjlt.com/news/195806.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node常见的三种安全防范手段详解
    目录一、前言二、预防方式1、 sql注入处理方案2、xss 攻击处理方案3、密码加密处理方式三、结语一、前言 本人主要是讲解在开发Node服务端的时候, 三种关于安全方面的处理 二...
    99+
    2023-02-13
    Node安全防范 Node安全
  • 浅析Node常见的三种关于安全方面的处理
    当我们使用 node 连接到数据库的时候, 通常会在 node 端写 sql 语句来进行数据库查询, 例如下方-- 这是一个简易的登录判断sql语句, 输入 username 和 password 在 users 表中进行用户登录验证, ...
    99+
    2023-05-14
    前端 Node.js
  • 4-3csrf token详解以及常见的防范措施
    (2)CSRF案例演示及防范  CSRF(post)实验演示和解析  Anti CSRF token  常见CSRF防范措施 Token是如何防止CSRF的? CSRF的主要问题是敏感操作的链接...
    99+
    2023-09-05
    php 服务器 开发语言
  • 前端常见的安全问题以及防范措施总结大全
    目录前言前端安全问题跨站脚本攻击(XSS)反射型XSS攻击基于DOM的XSS攻击存储型XSS攻击这几种XSS攻击类型的区别XSS防范措施输入过滤预防存储型和反射型 XSS 攻击预防 ...
    99+
    2024-04-02
  • web前端常见的安全问题及怎么防范措施
    本文小编为大家详细介绍“web前端常见的安全问题及怎么防范措施”,内容详细,步骤清晰,细节处理妥当,希望这篇“web前端常见的安全问题及怎么防范措施”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前端安全问题跨站脚...
    99+
    2023-06-29
  • 详解Spring全局异常处理的三种方式
    在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大。 那...
    99+
    2023-05-31
    spring 异常 异常处
  • 中安威士:详解SpringMVC框架中常见漏洞的防御
    下面我们就用利用SpringMVC自带的数据库操作类jdbcTemplate举例。比如下面Dao中有如下的两个函数。 函数save使用的是绑定变量的形式很好的防止了sql注入,而queryForInt...
    99+
    2024-04-02
  • ASP Web安全漏洞:您应该了解的5种最常见的漏洞
    ASP(Active Server Pages)是一种流行的 Web 开发技术,允许开发人员创建动态和交互式的 Web 应用程序。然而,ASP 应用程序也容易受到各种安全漏洞的攻击。这些漏洞可能允许攻击者访问敏感数据、破坏应用程序或在服...
    99+
    2024-02-07
    ASP Web安全 漏洞 防御
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作