伯乐共勉

讨论。NET专区
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

防止黑客入侵之短语。

Posted on 2005-05-10 13:48  伯乐共勉  阅读(564)  评论(0编辑  收藏  举报
1 千万别直接从用户输入中获得字串,然后组成SQL语句执行。

比如
要求用户输入用户名,密码。
var
  UserName: string;
  Password: string;
  SqlStr: string;
begin
  SqlStr := 'select * from f_qiubole where name = ' + QuotedStr(UserName) + ' and password = ' + QuotedStr(Password)';

一旦你这样做,黑客就可以在密码处输入 ' or 1=1 --'
轻松地进入系统。
还可能在后面再加东西删除你机器上的东西。
如果是SA登陆的话,它用 ' or 1=1; xp_cmdsheel '....'' 怕了吧。

2 写的程序的连接千万别给太高的权限,比如 sysadmins。

3 如果您不想让别人知道你程序怎么调用一段秘密数据库的内容的话,在SQL语句后面加上 --sp_password
   事件探测器profiler就看不到了。