码迷,mamicode.com
首页 > 数据库 > 详细

node防止sql注入 xss攻击和密码加密

时间:2020-03-10 15:42:21      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:密码登录   date   div   防御   HERE   插件   sha   密码加密   key   

1.sql注入:窃取数据库内容

select * from users where username=‘李四‘  -- ‘  and password =‘‘123‘  //不用密码登录

select * from users where username=‘李四‘;delete from users; -- ‘ and password =‘‘123‘  //直接删除用户

可以使用escape:mysql.escape

使用: username = escape(username)


2.xss攻击:窃取前端Cookie内容 node中使用xss插件

引用: const xss = require(‘xss‘);
使用: xss(对应要防御的内容)
  


3.密码加密:保障用户信息安全

nodejs 自带的加密 crypto
//引用:
const crypto = require(‘crypto‘);

//定义密匙
const SECRET_KEY = ‘Lhsuper_685#@‘

//md5加密

function md5(content){
    let md5 = crypto.createHash(‘md5‘);
    return md5.update(content).digest(‘hex‘);
}

//加密函数
function genPassword(password){
    const str = `password = ${password}&key=${SECRET_KEY}`
    return md5(str)
}

使用:genPassword(‘123‘)

  

 

node防止sql注入 xss攻击和密码加密

标签:密码登录   date   div   防御   HERE   插件   sha   密码加密   key   

原文地址:https://www.cnblogs.com/huanhuan55/p/12455821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!