首页|资讯|互联网|电信|硬件|软件|情报|产经|博客|家庭|商用电脑|游戏|评测|学院|下载|网络通信|方案应用|搜索
移动计算|商用软件|外包|开源|中间件|企业|IT经理|发烧友|程序员|IT女性|学生|老板|笔记本|手机|台式机|数码|论坛
安全频道

防止黑客发起 SQL注入的方法

2008-03-25 11:23 作者:jiangyanfei 来源:赛迪网
[摘要] 网站要做足安全, 特别是对防SQL注入, 因为大多数程序员都会很粗心大意而导致网站被黑。
  网站要做足安全, 特别是对防SQL注入, 因为大多数程序员都会很粗心大意而导致网站被黑。

  php脚本:

  基本上php本身就带有类似功能的函数了, 比如mysql_real_escape_string, addslashes等.

  大多数虚拟主机商比如耐思尼克(都会开启了magic_quotes_gpc这个选项, 那提交数据时, 会自动执行了addslashes这个函数, 这样就可以杜绝大多数的注入了

  另外因为mysql是不分数字还是文本,都可以用''来括住, 所以建议在写sql的时候, 参数都用''来括起来

  使用方法如下:

  $query = mysql_real_escape_string("SELECT * FROM products WHERE name='$productname'");

  asp脚本:

  FUNCTION CHECKSTR(ISTR)

  DIM ISTR_FORM,SQL_KILL,SQL_KILL_1,SQL_KILL_2,ISTR_KILL

  IF ISTR="" THEN EXIT FUNCTION

  ISTR=LCase(ISTR)

  ISTR_FORM=ISTR

  SQL_KILL="' and exec insert

   select delete update count * % chr mid master truncate char declare set ; from ="

  SQL_KILL_1=SPLIT(SQL_KILL," ")

  FOR EACH SQL_KILL_2 IN SQL_KILL_1

  ISTR=REPLACE(ISTR,SQL_KILL_2,"")

  NEXT

  CHECKSTR=ISTR

  ISTR_KILL=REPLACE(ISTR_FORM,ISTR,"")

  IF ISTR<>ISTR_FORM THEN

  RESPONSE.WRITE ""

  RESPONSE.END

  END IF

  END FUNCTION
关键词: 黑客, 发起, SQL, 注入,
  • 相关文章
  • 精选专题
关于eNet | 广告服务 | 版权声明 | 加入eNet | 联系我们 | 建议/投诉 | 网站导航 | 加入收藏

网站合作、内容监督、商务咨询、投诉建议:010-65245588
合作建议:hezuo@mail.enet.com.cn
Copyright © 1998--2008 硅谷动力公司版权所有 京ICP证000044号

京ICP证000044号