javascript - express框架会过滤数据库注入或者xss攻击么
大家讲道理
大家讲道理 2017-04-11 12:50:17
[JavaScript讨论组]

我直接把前台传来的json数据(req.body)存入mongod数据库里面了,没有对数据进行恼人的过滤,代码是这样写的

app.post('/post', urlencodedParser, function (req, res) {    
            db.myinsert(req.body, function (err,result) {
               if(err)  { console.log('Error:'+ err);  return; } 
             console.log(req.body)
            })
        console.log(req.body);
}) 

请教,express框架对req.body进行过滤了没,这样写安全么

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
PHP中文网

数据库注入

express好像没有自带数据库组建吧?你应该看看你用的db是哪个库,里面有没有对SQL的参数进行转义和过滤。

一般不手工拼SQL的话,一个合格的DB库应该是能避免SQL注入的。

xss攻击

为了避免xss攻击,输入的过滤当然也是一道关,但是更重要的是输出的时候不要把(潜在的)用户输入直接当作HTML片段进行输出,而应该转义后再输出。

如果非要用户输入富文本(HTML片段之类的),则应该用比较安全的方式,比如使用UBB代码来代替HTML代码。而用户非要输入HTML代码的时候,则应该要通过htmlpurifier这样的输入过滤工具过滤掉潜在的xss代码。

迷茫

express框架本事是不会转义html代码的,所以可以使用validator第三方组件对接收到的数据进行转义,至于防sql注入,可以使用sequelize orm组件来操作数据库,预绑定参数

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号