给一个PHP防SQL注入的方法吧 最近网站老是被人注入代码,求一个PHP防SQL注入的方法.问题解决即给分,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20100728/13/91cf7bcc-b26b-44a1-94b9-59c2d9aaac8c.html看看吧,刚有讨论。 最好有日志分析下,sql语句可疑部分我就见过,别人的源码。入口文件对变量处理的极其到位但是保存数据的时候,又取消转义的…… http://topic.csdn.net/u/20100728/13/91cf7bcc-b26b-44a1-94b9-59c2d9aaac8c.html这里面回答的 基本上能把你的问题解决掉! 开启魔术转换可以过滤很多了,addslashes($_POST);addslashes($_GET);if (!get_magic_quotes_gpc())//如果没有开启的话{ /****需要对这几个数组,遍历,注意数组多维的情况,addslashes($str)就可以 $_GET $_POST $_COOKIE $_REQUEST ****/} function daddslashes($string, $force = 0, $strip = FALSE) {//字符串或数组 是否强制 是否去除,如果魔术引用未开启 或 $force不为0 if(!MAGIC_QUOTES_GPC || $force) { if(is_array($string)) {//如果其为一个数组则循环执行此函数 foreach($string as $key => $val) { $string[$key] = daddslashes($val, $force); } } else {//如果魔术引用开启或$force为0,下面是一个三元操作符,如果$strip为true则执行stripslashes去掉反斜线字符,再执行addslashes,$strip为true的,也就是先去掉反斜线字符再进行转义的为$_GET, $_POST, $_COOKIE和$_REQUEST $_REQUEST数组包含了前三个数组的值,这里为什么要将$string先去掉反斜线再进行转义呢,因为有的时候$string有可能有两个反斜线,stripslashes是将多余的反斜线过滤掉 $string = addslashes($strip ? stripslashes($string) : $string); } } return $string;} 这里有很详细的介绍 如何编写安全的PHP代码 数据同步 头痛的编码 急 php数据库读写类 关于同一个页面调用不同的falsh的问题 现在哪个php写的流量统计程序比较好 file_get_contents读取xls一片乱码? 求生成复杂验证码程序 新人请教mysql+php 页面之间从数据库调出图片不能显示问题 求php解密问题 如何实现定时提醒 我的网站打开前台后台都是乱码了! 写累了个很简单的购物车,但是checkbox value出问题了,求帮助。
看看吧,刚有讨论。
这里面回答的 基本上能把你的问题解决掉!
addslashes($_GET);
if (!get_magic_quotes_gpc())//如果没有开启的话
{
/****需要对这几个数组,遍历,注意数组多维的情况,addslashes($str)就可以
$_GET
$_POST
$_COOKIE
$_REQUEST
****/
}
//字符串或数组 是否强制 是否去除,如果魔术引用未开启 或 $force不为0
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {//如果其为一个数组则循环执行此函数
foreach($string as $key => $val) {
$string[$key] = daddslashes($val, $force);
}
} else {//如果魔术引用开启或$force为0,下面是一个三元操作符,如果$strip为true则执行stripslashes去掉反斜线字符,再执行addslashes,$strip为true的,也就是先去掉反斜线字符再进行转义的为$_GET, $_POST, $_COOKIE和$_REQUEST $_REQUEST数组包含了前三个数组的值,这里为什么要将$string先去掉反斜线再进行转义呢,因为有的时候$string有可能有两个反斜线,stripslashes是将多余的反斜线过滤掉 $string = addslashes($strip ? stripslashes($string) : $string);
}
}
return $string;
}