PHP八大安全函数解析
来源:互联网 发布:kx tda200控制软件 编辑:程序博客网 时间:2024/05/23 14:49
在现代互联网中,我们经常要 从世界各地的用户中获得输入数据。但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数。在PHP中,有些非常有用并且方便的函数,它们可以帮助你的网站防止出现像SQL注入攻击,XSS攻击等问题。当然在PHP代码编写中IDE(如:PhpStorm 、Zend Studio )会有函数的高亮显示,来确保开发人员的使用,也有人使用代码混淆工具来保护这些函数或代码(如:Zend Guard),这些手段都是用来确保PHP函数的使用和安全的。今天我们主要是来看看这些函数到底是怎么定义与工作的。
1. mysql_real_escape_string()
这个函数对于在PHP中防止SQL注入攻击很有帮助,它对特殊的字符,像单引号和双引号,加上了“反斜杠”,确保用户的输入在用它去查询以前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个函数。
但现在mysql_real_escape_string()这个函数基本不用了,所有新的应用开发都应该使用像PDO这样的库对数据库进行操作,也就是说,我们可以使用现成的语句防止SQL注入攻击。
2. addslashes()
这个函数和上面的mysql_real_escape_string()很相似。但要注意当设置文件php.ini中的magic_quotes_gpc 的值为“on”时,不要使用这个函数。默认情况下, magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据 自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致 双层转义。你可以通过PHP中get_magic_quotes_gpc()函数检查这个变量的值。
3. htmlentities()
这个函数对过滤用户输入数据非常有用,它可以把字符转换为 HTML 实体。比如,当用户输入字符“<”时,就会被该函数转化为HTML实体<,因此防止了XSS和SQL注入攻击。
4. htmlspecialchars()
HTML中的一些字符有着特殊的含义,如果要体现这样的含义,就要被转换为HTML实体,这个函数会返回转换后的字符串,比如,‘&’amp会转为‘&’。
5. strip_tags()
这个函数可以去除字符串中所有的HTML,JavaScript和PHP标签,当然你也可以通过设置该函数的第二个参数,让一些特定的标签出现。
6. md5()
一些开发者存储的密码非常简单,这从安全的角度上看是不好的,md5()函数可以产生给定字符串的32个字符的md5散列,而且这个过程不可逆,即你不能从md5()的结果得到原始字符串。
7. sha1()
这个函数和上面的md5()相似,但是它使用了不同的算法,产生的是40个字符的SHA-1散列(md5产生的是32个字符的散列)。
8. intval()
- PHP八大安全函数解析
- PHP八大安全函数解析
- php几个安全函数
- php安全过滤函数
- PHP安全过滤函数
- PHP安全过滤函数
- PHP安全过滤函数
- PHP安全函数
- 安全相关的PHP函数
- php 函数call_user_func解析
- php解析xml函数
- php函数解析
- php字符串解析函数
- PHP八大设计模式
- PHP八大设计模式
- php安全设置:禁用危险函数
- 理解php Hash函数,增强密码安全
- php常用的安全过滤函数
- xhprof 在5.6+版本的php中报错
- ImageLoader加载图片
- VBA 通过timer计时
- JavaSE入门学习1:计算机基础知识
- 算法与数据结构学习资源大搜罗——良心推荐
- PHP八大安全函数解析
- LD-LINUX.SO.2: BAD ELF INTERPRETER的解决办法【阿里云】
- Block块/Swift闭包介绍与使用
- Android开发-前端视图Activity
- 算法--排序(希尔,归并)
- 【第十二章】零配置 之 12.5 综合示例-积分商城 ——跟我学spring3
- 提高VBA程序效率的技巧
- Oracle 日常巡检
- 2016【太原网络营销师】郭文军讲解如何优化网站长尾关键词