php中的安全过滤函数是什么

介绍

这篇文章给大家介绍php中的安全过滤函数是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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

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

代码如下:


mysql_real_escape_string ()
, addslashes ()

②这些函数的作用:

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

③函数的用法:

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

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

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

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

 php中的安全过滤函数是什么

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

④举例说明:

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

代码如下:


& lt; ? php
,,,如果(! get_magic_quotes_gpc ()) {
,,,,,,,foreach ($ _GET美元关键=比;和美元值){
,,,,,,,,,,,(value=https://www.yisu.com/zixun/mysql_real_escape_string美元值),
,,,,,,,}
,,,}
,,,如果(! get_magic_quotes_runtime ()) {
,,,,,,,$ sourceDataRecord=文件(& # 39;。/sourceData.txt& # 39;);
,,,,,,,如果(sourceDataRecord美元){
,,,,,,,,,,,foreach ($ sourceDataRecord sourceKey美元=比;,sourceValue美元){
,,,,,,,,,,,,,,,sourceValue美元=https://www.yisu.com/zixun/mysql_real_escape_string (sourceValue美元);
,,,,,,,,,,,}
,,,,,,,}
,,,}
,,,$ gpcData=https://www.yisu.com/zixun/implode (“/t”, $ _GET);
,,,$ runtimeData=https://www.yisu.com/zixun/implode (“/t”, sourceDataRecord美元);
,,,回声gpcData美元,美元runtimeData;
?在

,在sourceData。txt中的内容如下:

代码如下:


“这# 39;s anoterh周日下午
,我# 39;m。紫阐述.....阐述在“
,

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

php.test.com/safe/getdata.php?name=maw& # 39; eibin&年龄=25
,
执行结果如下:

代码如下:


胃\ & # 39;eibin 25 \“;它\ & # 39;s anoterh周日下午\ r \ n \ & # 39; m。紫
,阐述.....阐述在\“

php中的安全过滤函数是什么