1) 当需要把用户输入的内容,有可能包含单引号、双引号 、反斜线、空字元 nul,到mysql的语句中执行时,应该把apache中的magic_quotes_gpc项设成on.
如果APACHE中的此项设成Off时,也可用php的函数addslashes()达到相同的目的,但这两种手段不能同时使用,否则会出现重复替换,出现错误.
样例PHP代码如下:
当然,如果APACHE中的magic_quotes_gpc项为On,但有时又不想转义某项的特殊字符,可以使用stripslashes()去掉其中的 .
立即学习“PHP免费学习笔记(深入)”;
2) 过滤影响MSSQL正常运行的字符。
当需要把用户输入的内容,有可能包含单引号,到mssql的语句中执行时,应该把APACHE中的magic_quotes_sybase项设成On,此时magic_quotes_gpc项不再生效.
如果APACHE中的此项设成Off时,php中并没有合适的函数达到相同的目的,只能使用字符串替换函数来达到此目的.
样例,PHP代码:
现在10.218.17.53上的PHP既要访问mysql又要访问mssql,APACHE中的设置不能兼顾两种数据库,所以只对mysql做了相应设置.
2. 应对用户输入包含SQL语句的一个措施。
以下两种SQL写法都比较普遍,但安全程度是不同的,当用户提交的$id='1 and 1=2 union select ...'时第一种就会显示出不该显示的数据,而第二种就相对安全些.
I-Shop购物系统下载部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/
SQL代码:
Select * FROM article Where articleid=$id
Select * FROM article Where articleid='$id'
3. 防止用户输入的内容因包含html标签或javascript而影响页面的正常显示,可以用htmlspecialchars()过滤其中的 & " ,PHP代码:
$content = htmlspecialchars($content);
4. 当页面要显示的内容包含回车换行时,可以使用nl2br()来达到页面上换行的效果.
方法一.
"; print "$user1
"; print "方式2-----------------
"; print "$user2
";方法二.
= 0) { return $tag_str.mysql_real_escape_string($string).$tag_str; } $string = str_replace("'", "[url=file://\]\'[/url]" , str_replace('\', '\\', str_replace("", "[url=]\[/url]", $string))); return $tag_str.$string.$tag_str; } return $tag_str.str_replace('\"', '"', $string).$tag_str; }
教程地址:
欢迎转载!但请带上文章地址^^











