加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php常用的安全过滤函数集锦

发布时间:2020-12-13 02:03:43 所属栏目:PHP教程 来源:网络整理
导读:《:php常用的安全过滤函数集锦》要点: 本文介绍了:php常用的安全过滤函数集锦,希望对您有用。如果有疑问,可以联系我们。 PHP实战 虽然各种开发框架给我们提供了很好的安全的处理方式,但是,我们还是要注意一下安全问题的. ?原因简单:很多小的功能和项目

《:php常用的安全过滤函数集锦》要点:
本文介绍了:php常用的安全过滤函数集锦,希望对您有用。如果有疑问,可以联系我们。

PHP实战虽然各种开发框架给我们提供了很好的安全的处理方式,但是,我们还是要注意一下安全问题的.
?原因简单:很多小的功能和项目是用不到框架的,我们需要自己解决安全问题!

PHP实战①常用的安全函数有哪些:

代码如下:

mysql_real_escape_string()
?addslashes()

PHP实战②这些函数的作用:

PHP实战mysql_real_escape_string()和addslashes()函数都是对数据中的 单引号、双引号进行转义!也就是防止sql注入!
?但是mysql_real_escape_string()考虑了字符集,更加的安全一些!
?经过查阅相关的资料,可以得出一个结论:当前的字符集是单字节的话,这两个函数作用相同,都可以起到转义过滤的作用,有谁会只是用单字节呢?尤其是utf8越来越广泛的被使用到!

PHP实战③函数的用法:

PHP实战在了解mysql_real_escape_string()和addslashes()这两个函数的用法的时候,我们必须先了解另外两个函数的含义!

PHP实战get_magic_quotes_gpc()和get_magic_quotes_runtime(),我们来比较一下两个函数的异同:

PHP实战相同:
?
a、两者都是用来获取php.ini配置文件的配置情况的!当开启的时候返回1,关闭的时候返回0!

PHP实战b、当开启的时候,都会对指定范围内的数据进行转义过滤!

PHP实战:php常用的安全过滤函数集锦

PHP实战不同:
a、两者的作用范围不同:
magic_quotes_gpc主要作用于web客户端,简单的说主要是对$_GET、$_POST、$_COOKE中的数据进行过滤!
magic_quotes_runtime主要是对文件中读取的数据或从数据库查询得到的数据进行过滤!
b、设置时间不同:
magic_quotes_gpc不可以在运行时进行设置[只能在重启服务器的时候读取该设置]
magic_quotes_runtime可以在运行时设置!
?注意:所谓运行时设置,就是,我们可以通过ini_set()函数,在脚本中对php.ini文件中的配置进行设置!
?
明白了get_magic_quotes_gpc()和get_magic_quotes_runtime()这两个函数的后,我们就应该明白了:当我们检测到php.ini配置文件开启了magic_quotes_runtime 和 magic_quotes_gpc的话,就会自动的对指定范围内的数据进行转义!如果关闭的话,我们就需要使用mysql_real_escape_string()[或者addslashes函数进行过滤]

PHP实战④举例说明:

PHP实战1、无论magic_quotes_gpc和magic_quotes_runctime开启还是关闭的情况下getdata.php脚本,都可以对数据进行安全转移,内容如下:

代码如下:

<?php
??? if(!get_magic_quotes_gpc()) {
??????? foreach($_GET as $key=> &$value) {
??????????? $value = mysql_real_escape_string($value);
??????? }
??? }
??? if(!get_magic_quotes_runtime()) {
??????? $sourceDataRecord= file('./sourceData.txt');
??????? if($sourceDataRecord) {
??????????? foreach($sourceDataRecord as $sourceKey => &$sourceValue) {
??????????????? $sourceValue = mysql_real_escape_string($sourceValue);
??????????? }
??????? }
??? }
??? $gpcData = implode("t",$_GET);
??? $runtimeData = implode("t",$sourceDataRecord);
??? echo $gpcData,$runtimeData;
?>

PHP实战?在sourceData.txt中的内容如下:

代码如下:

" It's anoterh sunday afternoon
?I'm trunning turnning.....turnning around "
?

PHP实战我们请求getData.php时的url如下:

PHP实战php.test.com/safe/getdata.php?name=maw'eibin&age=25
?
执行结果如下:

代码如下:

maw'eibin 25" It's anoterh sunday afternoonrn I'm trunning
?turnning.....turnning around "

PHP实战⑤参考资料:

PHP实战

欢迎参与《:php常用的安全过滤函数集锦》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读