对于自定义查询的输入信息的过滤,希望大家能列举出破坏生成正常SQL语句的非法和恶意字符,如单引号之类的。

glboy 2003-11-01 05:11:02
如上,数据库为SQL SERVER 2000 ,主要是为了更大程度上增强对SQL SERVER 查询分析器的支持,希望大家能多捧场。

期待屏蔽字符有:
1.单引号
2."*"(在非模糊查询的时候需要屏蔽)符号
...全文
33 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrfinger 2003-11-02
  • 打赏
  • 举报
回复
;
分号同样值得关注,要不你的网站什么时候被黑了都不知道!

http://www.51base.com/article/search.asp?page=2&action=search&search=sql+%D7%A2%C8%EB&typeid=1
glboy 2003-11-02
  • 打赏
  • 举报
回复
THANK YOU
glboy 2003-11-01
  • 打赏
  • 举报
回复
谢谢大家的热情回答,其实程序只能一定程度上去弥补和过滤,对于人为的恶意攻击还是很无力,大家认为呢?
Liulingbing 2003-11-01
  • 打赏
  • 举报
回复
我在JSP中写这样的代码。
if(content != null && !content.equals("")) {
//插入前对文本格式化,1、单引号变两个单引号,2、换行变<br> 3、<>分别换成<>
content = content.replaceAll("'", "''");
content = content.replaceAll("<", "<");
content = content.replaceAll(">", ">");
content = content.replaceAll("\r\n", "<br>");
}
txlicenhe 2003-11-01
  • 打赏
  • 举报
回复
单引号,%,_,逗号,[],点号,--/**/ = > < ( )
glboy 2003-11-01
  • 打赏
  • 举报
回复
ok,我想得到的主要也就是对于单引号的担心
pengdali 2003-11-01
  • 打赏
  • 举报
回复
但问题最大的是:

' 号
pengdali 2003-11-01
  • 打赏
  • 举报
回复
如果你用=就没有问题
如果你用like就还有:
% _ [
pengdali 2003-11-01
  • 打赏
  • 举报
回复
'
就可以了。
glboy 2003-11-01
  • 打赏
  • 举报
回复
呵呵,写的快了些,谢谢指正
zjcxc 元老 2003-11-01
  • 打赏
  • 举报
回复
-- /* */
表示注释
zjcxc 元老 2003-11-01
  • 打赏
  • 举报
回复
改楼主的错:
*是针对access的,SQL中用%

还有非模糊查询的时候需要屏蔽:
% 包含零个或更多字符的任意字符串。
_(下划线) 任何单个字符。




保留的关键字不知道是否在楼主的范围内?如果在的话,那就多了.

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧