您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php非法字符过滤

2025/11/12 18:13:44发布23次查看
1) 当需要把用户输入的内容,有可能包含单引号、双引号 、反斜线、空字元 nul,到mysql的语句中执行时,应该把apache中的magic_quotes_gpc项设成on.
如果apache中的此项设成off时,也可用php的函数addslashes()达到相同的目的,但这两种手段不能同时使用,否则会出现重复替换,出现错误.
样例php代码如下:
当然,如果apache中的magic_quotes_gpc项为on,但有时又不想转义某项的特殊字符,可以使用stripslashes()去掉其中的 .
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 ...'时第一种就会显示出不该显示的数据,而第二种就相对安全些.
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; }
教程地址:
欢迎转载!但请带上文章地址^^
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product