如果存储过程是拼的SQL,那么要防止注入,怎么办?
是不是只能在执行存储过程之前替换掉敏感字符了?
应该是的,可以用正则去替换
得寸进尺的问下,除了替换单引号,还需要替换哪些呢?谢谢~
C# code:
我自己一直是这么写的,希望对你有启发
#region 过滤字符
/// <summary>
/// 具体情况来定要过滤的字符
/// </summary>
/// <param name="param">要过滤的字符</param>
public static string CheckSaftParam(string param)
{
param = param.Replace("net user", "");
param = param.Replace("xp_cmdshell", "");
param = param.Replace("/add", "");
param = param.Replace("exec%20master.dbo.xp_cmdshell", "");
param = param.Replace("net localgroup administrators", "");
param = param.Replace("select", "");
param = param.Replace("'", "''");
param = param.Replace("insert", "");
param = param.Replace("delete", "");
param = param.Replace("drop", "");
param = param.Replace("truncate", "");
相关问答:
哪位高手提供一个SQl语句,控制表中指定列的值必须是正数?
在程序里面判断不好吗??
你可以在建表的时候用check约束表中的该字段呀!
如:
create table tab_name(
name varchar2(20),
age numbe ......
数据库某表,想将其中f1,f2两个字段的内容翻10倍,请教如何写法?
update tbl set f1= f1*10,f2= f2*10 where id=10451
这种写法会造成plsql卡死
不会吧,那个id=10451 的数据有多少啊~~~~
我估计sql是不 ......
users表
name companyId companyName
company表
companyId companyName
1 a公司
2 b公司
......
问题是这样的,
我的本地sqlserver 2000 服务器上,建立了多个远程链接服务器,
请问,我如何通过 sql语句,或者其他的方法枚举 这些链接服务器呢?(通过企业管理器我是知道的,
我要的是能通过编程枚举到 ......