- 浏览: 427343 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
fufu0414:
PHP类实例教程:abstract类和abstract方法 -
fufu0414:
[list][url][img][img][img][list ...
PHP类实例教程:abstract类和abstract方法
PHP magic_quotes_gpc主要是作用在WEB客户服务端的,它的作用时间是从请求开始,接下来我们将具体的为大家讲解它的使用方式。
我们今天要向大家介绍的是PHP magic_quotes_gpc的具体使用方法。大家都知道在PHP中一个特殊的函数魔术函数,它在引用的过程中只有在传递$_GET,$_POST,$_COOKIE时才会发生作用。
1.
条件: PHP magic_quotes_gpc=off
写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。
数据: $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).
操作: 将字符串:”snow”’’sun” 写入数据库,
结果: 出现sql语句错误,mysql不能顺利完成sql语句,写入数据库失败。
数据库保存格式:无数据。
输出数据格式:无数据。
说明: 对于未经处理的单引号在写入数据库时会使sql语句发生错误。
2.
条件: PHP magic_quotes_gpc=off
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。
数据: $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).
操作: 将字符串:”snow”’’sun” 写入数据库,
结果: sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow”’’sun (和输入一样)
输出数据格式:snow”’’sun (和输入一样)
说明: addslashes()函数将单引号转换为\’的转义字符使sql语句成功执行,
但\’并未作为数据存入数据库,数据库保存的是snow”’’sun 而并不是我们想象的snow\’\’\’\’sun
3.
条件: PHP magic_quotes_gpc=on
写入数据库的字符串未经过任何处理。从数据库读出的字符串未作任何处理。
数据: $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).
操作: 将字符串:”snow”’’sun” 写入数据库,
结果: sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow”’’sun (和输入一样)
输出数据格式:snow”’’sun (和输入一样)
说明: PHP magic_quotes_gpc=on 将单引号转换为\’的转义字符使sql语句成功执行,
但\’并未作为数据入数据库,数据库保存的是snow”’’sun而并不是我们想象的snow\’\’\’\’sun。
4.
条件: PHP magic_quotes_gpc=on
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。
数据: $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).
操作: 将字符串:”snow”’’sun” 写入数据库,
结果: sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow\’\’\’\’sun (添加了转义字符)
输出数据格式:snow\’\’\’\’sun (添加了转义字符)
说明: PHP magic_quotes_gpc=on 将单引号转换为\’的转义字符使sql语句成功执行,
addslashes又将即将写入数据库的单引号转换为\’,后者的转换被作为数据写入
数据库,数据库保存的是snow\’\’\’\’sun
总结如下:
1. 对于PHP magic_quotes_gpc=on的情况,
我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。
如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。
2. 对于PHP magic_quotes_gpc=off 的情况
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。
补充:
PHP magic_quotes_gpc作用范围是:WEB客户服务端;作用时间:请求开始时,例如当脚本运行时.
magic_quotes_runtime 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;作用时间:每次当脚本访问运行状态中产生的数据
发表评论
-
CentOS 上安装Gearman及其PHP扩展
2016-01-11 19:48 556安装服务端 yum install -y uuid-dev ... -
ffmpag域ffmpag-php安装过程
2015-11-13 16:18 953yum install automake autoco ... -
centos6.X下安装php7脚本
2015-10-29 08:59 877#!/bin/bash #安装php7 #安装所需 ... -
Predis的一些操作汇总
2015-07-17 15:50 758//使用autoload加载相关库,这边重点就是为了requ ... -
php curl函数应用方法之模拟浏览器
2015-05-30 15:26 681原文地址:http://num7.ite ... -
php的curl函数模拟post数据提交,首次速度非常慢的处理办法
2015-05-30 15:24 782如果你用 curl_setopt 函数来与远程的webser ... -
PHP类实例教程(一):开始
2009-08-27 00:33 502从OOP(面向对象)的视角看,不应区分语言。无论是C++、无 ... -
PHP类实例教程(二):类和对象的基础部分
2009-08-27 00:41 441Everything is Object:万事万物皆对象 ... -
PHP类实例教程(三):PHP5类中的属性
2009-08-27 00:51 399属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态 ... -
PHP类实例教程(四):PHP5类中的方法
2009-08-27 08:39 474方法:对对象的属性进 ... -
PHP类实例教程(五):对象的比较
2009-08-27 11:39 403在PHP中有 = 赋值符号、== 等于符号和 === 全等于 ... -
PHP类实例教程(六):构造函数
2010-01-18 17:56 275构造方法又称为构造函数,是对象被创建时自动调用的方法,用来完成 ... -
PHP类实例教程(七):析构函数与PHP的垃圾回收
2010-01-18 18:09 516析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。 ... -
PHP类实例教程(八):类的继承
2010-01-19 14:03 502继承是面向对象最重要的特点之一,就是可以实现对类的复用。 ... -
PHP类实例教程(九):访问控制 private, protected, public
2010-01-19 14:04 438在PHP5中,可以在类的属性和方法前面加上一个修饰符(mod ... -
PHP类实例教程(十):类的重写(override)
2010-01-19 14:05 518如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个 ... -
PHP类实例教程(十一):类中this关键字
2010-01-19 14:06 344PHP5中为解决变量的命 ... -
PHP类实例教程(十二):类中parent::关键字
2010-01-19 14:07 595PHP5中使用parent::来引用 ... -
PHP类实例教程(十四):设计模式之单件模式
2010-01-19 14:10 499单件模式要解决的问题就是“如何让这个类只有一个实例”。 我 ... -
PHP类实例教程(十五):final类、final方法和常量
2010-01-19 14:11 548final---用于类、方法前。 final类---不可被 ...
相关推荐
本文将详细介绍这两个函数的功能、使用方法以及它们在PHP中的作用。 #### `get_magic_quotes_gpc()` 函数 `get_magic_quotes_gpc()` 是一个用于检测PHP是否开启了Magic Quotes GPC功能的函数。Magic Quotes GPC是...
如果`magic_quotes_gpc`设置为开启,但开发者想要手动处理字符串转义,应当首先使用`get_magic_quotes_gpc()`检查当前状态。如果返回值为1,说明数据已经自动转义,这时再使用`addslashes()`就会导致双层转义,因此...
magic_quotes_gpc与magic_quotes_runtime是PHP语言中用于自动转义特殊字符的两个配置指令,它们的主要目的是为了防止SQL注入等安全问题。这两个指令对于处理用户输入的数据,尤其是从GET、POST、COOKIE等超全局变量...
magic_quotes_gpc的使用方法主要围绕其开启(on)和关闭(off)时的行为。当magic_quotes_gpc设置为on时,所有来自客户端的数据都会自动添加转义字符,开发者不需要再手动使用addslashes()函数进行转义。因此,在...
PHP魔术引号实现在PHP 5.4更高版本上为旧版代码实现magic_quotes_gpc 如果您要将旧版源代码迁移到上述PHP 5.4版的环境中,但是根据Magic Quotes magic_quotes_gpc SQL保护,其中包括许多易受攻击的数据库查询代码。...
对于那些仍使用旧版本PHP的环境,了解如何处理开启magic_quotes_gpc的情况同样重要,因为这关系到网站的安全性和用户体验。总之,处理好magic_quotes_gpc的设置,可以帮助开发者更好地掌握数据处理的安全性和效率...
php $magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE)); @extract(daddslashes($_POST)); @extract(daddslashes($_GET)); if(!$magic_quotes_gpc) { $_FILES = daddslashes($_FILES); }...
例如,如果检测到magic_quotes_gpc关闭(get_magic_quotes_gpc()返回0),则可以使用addslashes()函数: ```php if (!get_magic_quotes_gpc()) { $prot = addslashes($prot); } ``` 在使用addslashes()函数时,...
主要介绍了php中magic_quotes_gpc对unserialize的影响,以实例的形式分析了magic_quotes_gpc安全过滤对unserialize造成的影响以及对此的解决方法,非常具有实用价值,需要的朋友可以参考下
特地查看了下手册,关于php magic quotes,常见的几个设置如下,magic_quotes_gpc,magic_quotes_sybase,magic_quote_runtime,这几个函数是在php.ini中去配置的,从手册中可以看出从php5.3后已经废除了这些特性,...
php中数据的魔法引用函数 magic_quotes_gpc 或 magic_quotes_runtime 设置为on时,为我们引用的数据碰到 单引号’ 和 双引号” 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行两者...
在PHP中,`magic_quotes_gpc`是早期用来防御SQL注入的一种机制,但现在已经不再推荐使用。 `magic_quotes_gpc`是PHP的一个配置选项,当设置为`on`时,它会在请求开始时自动对GET、POST和COOKIE数据添加反斜杠(\)...
中开启magic_quotes_gpc和magic_quotes_runtime。magic_quotes_gpc可以把get,post,cookie里的引号变为斜杠。magic_quotes_runtime对于进出数据库的数据可以起到格式话的作用。其实,早在以前注入很疯狂时,这个参数...