如何解决数据库中数据被插入 c.js 脚本

如何解决数据库中数据被插入 c.js 脚本,第1张

在sql查询分析器里运行

declare @t varchar(555),@c varchar(555) ,@inScript varchar(8000)

set @inScript='这里复制病毒代码'

declare table_cursor cursor for select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)

open table_cursor

fetch next from table_cursor into @t,@c

while(@@fetch_status=0)

begin

exec('update ['+@t+'] set ['+@c+']=replace(cast(['+@c+'] as varchar(8000)),'''+@inScript+''','''')' )

fetch next from table_cursor into @t,@c

end

close table_cursor

deallocate table_cursor

清除后,务必严格过滤传值和控制数据库字段长度

Node.JS 服务器可以在 后端 连接mysql,这时的情况和php是一样的。

我从未见过前端JS直接连接mysql的,原因是:

(1)浏览器内置的javascript 引擎一般只支持websocket,即基于http连接的套接字高层协议,而不是真正的socket,因此除非服务器端也开启websocket服务并拆开套接字转发到mysql,否则无法代理连接

(2)我见过的绝大多数mysql 服务器都工作在服务器环境下的一个虚拟子网,换句话说,直接的远程3306端口是拒绝连接的,这样可以隔绝端口直接攻击

如果前段js直接可以连接后端服务器mysql的端口,那么就不叫B/S结构了,而是C/S结构(比如传统的windows桌面程序),安全上有很多问题,所以大多数浏览器也不支持这个 *** 作。


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

原文地址: http://outofmemory.cn/sjk/9914058.html

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

发表评论

登录后才能评论

评论列表(0条)

保存