PHP安全过滤函数
来源:互联网 发布:linux signal 编辑:程序博客网 时间:2024/05/18 00:00
在现代互联网中,我们经常要 从世界各地的用户中获得输入数据。但是,我们都知道“永远不能相信那些用户输入的数据”。之前做PHP开发的时候,小网站、低需求,也产生了几个不安全的开发作品。PHP的安全过滤函数的使用可以有效的防止像sql攻击、xss攻击的问题。现在恶补安全过滤函数这一块,看了一些php项目安全性的博客,整理了此篇文章。
1.htmlspecialchars(string, flag, encoding)
使用这个函数会把字符串转换为HTML实体(html实体不理解可以参看 http://www.w3school.com.cn/html/html_entities.asp);
众所周知像 双引号“,单引号‘,在操作对数据表进行操作的时候是很危险的。而使用htmlsprcialchars后,双引号就会变成",单引号就变成'
$var = '"mysql';$var_after = htmlspecialchars($var);var_dump($var_after);输出显示:string '"mysql' (length=11)
$var = "'mysql";$var_after = htmlspecialchars($var, ENT_QUOTES); //第二个参数ENT_QUOTES,双引号和单引号都编码。var_dump($var_after);输出显示:string ''mysql' (length=11)
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >
2.htmlentities(string, flag, encoding)
htmlentities和htmlsprcialchars的使用和效果都比较类似,htmlsprcialchars只是转换以上几种特殊字符,而htmlentities转换全部的字符。
需要额外说明的一点在于使用htmlentities处理中文的时候第三个参数encoding,要使用正确的编码,否则会出现乱码。一般来说使用htmlsprcialchars转换基本字符就已经足够了。
3.strip_tags(string, allow)
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
第二个参数allow,允许出现的标签;
$var='<a href="test.html"><b>测试页面</b></a>';
$var_after = strip_tags($var);删除反斜杠,不多说。var_dump($var_after);
$var_second = strip_tags($var, '<b>');var_dump($var_second);
输出:string '测试页面' (length=12)
string '<b>测试页面</b>' (length=19)
4.stripslashes(string)
另外还有像intval,md5等函数,在程序中合理使用都可以起到很好的效果。
- php安全过滤函数
- PHP安全过滤函数
- PHP安全过滤函数
- PHP安全过滤函数
- php常用的安全过滤函数
- php常用的安全过滤函数
- php安全过滤
- PHP安全过滤
- php安全过滤
- PHP字符串过滤需要的函数,安全MYSQL
- php给$_POST,$_GET过滤单引号与双引号安全函数
- PHP中字符安全过滤函数使用小结
- PHP中字符安全过滤函数使用小结
- php filter安全过滤方法
- PHP安全过滤用户输入
- php----过滤函数
- XSS过滤函数 PHP
- php过滤xss函数
- JDK里的设计模式
- iOS 时间前后计算
- selenium java 程序 无法打开火狐及相关问题
- SAP中的贷项凭证、借项凭证
- HTTP方法:GET和POST区别
- PHP安全过滤函数
- 网络攻防知识
- js Array.every some 方法
- symfony2中运行周期内执行的回调函数
- 适合新手动手实践的PHP搭配mysql的小项目--02实现注册页面
- 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
- 英寸 寸
- 关于Activity被回收
- hdu1863 畅通工程(kruscal && 并查集)