菜鸟教程中的nodejs连接mysql数据库教程存在sql注入问题吗

菜鸟教程中的nodejs连接mysql数据库教程存在sql注入问题吗,第1张

是否有漏洞与代码有关,与此无关

其中主流的连接MySQL的方式是用mysql或者mysql2包,它们只是提供了调用驱动的api。很多框架中包括egg,nest都是基于此封装的。

但这不是SQL注入的关键,它只是一种连接方式。它只管连接,不管其他的,存不存在SQL注入完全靠写代码的人本身啊。

一句脚本本没有问题(知道不让直接放sql的,也是放注入),但是你如果让SQL变成由用户输入拼接而成,那就存在SQL注入的风险。

你应该去了解SQL注入的原理,然后进行防患,百度就能找到,然后可以用ORM,一般都对输入做了处理,还能避免直接写SQL(但其实难的地方还得自己写)。

有不理解可以追问。

唔,屏幕那么小,你还想全部显示吗一次显示一部分也可以的吧,还有就是能导入到文件中去看,都能解决你的问题。

假如你的数据库名:test_db,有300张表。

解决方法一:

use information_schema;

select table_name

from information_schematables

where table_schema='test_db'

oder by table_name

limit 0,30; #30表示一次查多少,这个可以自己看着改啦

再来一次

select table_name

from information_schematables

where table_schema='test_db'

oder by table_name

limit 30,30;

运行个10次,到limit 270,30就把全部表都显示了一遍。

解决方法二:

唔,我觉得方法一不靠谱,还是这个办法给力

select table_name

from information_schematables

where table_schema='test_db'

into outfile 'd:/tmp/test_db_all_tablesxls';

-- 把表名都导进excel里了,方便进行各种查看

效果图:

在nodejs里连接和使用mysql

npm install knex@06 --save

npm install mysql

var knex = require('knex')({

client: 'mysql',

connection: {

host : '127001',

user : 'your_database_user',

password : 'your_database_password',

database : 'myapp_test'

}

});

knexselect('title', 'author', 'year')from('books')then(function(data){

//取到的数据

consolelog(data)

})

以上就是关于菜鸟教程中的nodejs连接mysql数据库教程存在sql注入问题吗全部的内容,包括:菜鸟教程中的nodejs连接mysql数据库教程存在sql注入问题吗、如何用nodejs实现mysql多表查询并显示结果及删除、如何在node.js里连接和使用mysql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10118678.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存