字体:  

请教:实例说明怎么防SQL注入

enterhuiche 发表于: 2008-8-29 09:21 来源: PHPChina 开源社区门户

请教:实例说明怎么防SQL注入请看代码

<?php

$name=$_POST['name'];

$message=$_POST['message'];

$sql="insert into 表名(name,message) values('$name','$message')";

mysql_query($sql);

?>

请具体说明这段代码怎么防注入?

谢谢楼下的了^_^

最新回复

peacock at 2008-8-29 09:41:23
借用ADODB的函数
enterhuiche at 2008-8-29 10:05:02
谢谢老大
enterhuiche at 2008-8-29 10:07:23
问下peacock    php有没有自带的像你刚写得qstr() 这个函数?
peacock at 2008-8-29 10:24:11
没有
enterhuiche at 2008-8-29 10:37:38
收到,谢谢
taozi05 at 2008-8-29 11:47:51
哥们,你这个防了html 的标记吗?<script></script>....................
enterhuiche at 2008-8-29 12:50:22
请教 taizi05 具体点^_^
peacock at 2008-8-29 12:57:49

QUOTE:

原帖由 taozi05 于 2008-8-29 11:47 发表
哥们,你这个防了html 的标记吗?....................
防SQL诸注入和防HTML注入是两回事。
防HTML注入可以用2种方式
1、自己写UBB过滤
2、直接用htmlspecialchars,无法输出html
kakashilw at 2008-8-29 13:05:42
SQL注入的话。。。。

一般用 addslashes过滤一下就OK了吧~~~~~~~~~~
peacock at 2008-8-29 13:07:07

QUOTE:

原帖由 kakashilw 于 2008-8-29 13:05 发表
SQL注入的话。。。。

一般用 addslashes过滤一下就OK了吧~~~~~~~~~~
addslashes不能完全解决问题,和php的环境配置有着直接的关系。
taozi05 at 2008-8-29 13:10:07

QUOTE:

原帖由 peacock 于 2008-8-29 12:57 发表

防SQL诸注入和防HTML注入是两回事。
防HTML注入可以用2种方式
1、自己写UBB过滤
2、直接用htmlspecialchars,无法输出html
对啊。同意上楼,如果只是针对sql注入:

没必要写这么复杂。。

判断类型+转义,就ok
taozi05 at 2008-8-29 13:11:16
不会说

get_magic_quotes_gpc(),这个玩意吧。

难道在写转义,不会判断下吗。
peacock at 2008-8-29 14:24:43

QUOTE:

原帖由 taozi05 于 2008-8-29 13:11 发表
不会说

get_magic_quotes_gpc(),这个玩意吧。

难道在写转义,不会判断下吗。
你看看2楼的adodb函数就知道了。
enterhuiche at 2008-8-29 18:33:01
非常好,学习了