- 浏览: 200585 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
guji528:
使用Python通过正则表达式替换很方便:
sprin ...
Python正则表达式指南 -
guji528:
很实用,先keep再看
Python正则表达式指南 -
yushine:
1,2,3,5 已经做了剩下的本来也正准备做。
2012, 每一个软件工程师必须做的11件事 -
mynetstudy:
用导出不就可以了吗
递归删除SVN工作目录下的.svn目录
set_magic_quotes_runtime(0);
可以修改php.ini中 magic_quotes_runtime boolean的设置
当你的数据中有一些
\
"
'
这样的字符要写入到数据库里面,又想不被过滤掉的时候,它就很有用,会在这些字符前加上\
中国\地大物博"哈哈"
中国\\地大物博\"哈哈\"
set_magic_quotes_runtime是用来设置PHP 环境配置的变量 magic_quotes_runtime 值。
0-关闭 1-打开
程序中检测状态用get_magic_quotes_runtime,返回 0 表示关闭本功能;返回 1 表示本功能打开。若 magic_quotes_runtime 打开时,所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。
在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的 (包括数据库或者文件)数据中的溢出字符加上反斜线。
当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与 get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。
为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测设置状态秋决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉。
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的'"\加上反斜线。可以用 get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
回复 引用
订阅 TO
魔法引用函数magic_quotes_gpc和magic_quotes_runtime的区别和用法
PHP提供两个方便我们引用数据的魔法引用函数 magic_quotes_gpc和magic_quotes_runtime,这两个函数如果在php.ini设置为ON的时候,就会为我们引用的数据碰到 单引号' 和 双引号" 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行,可是我们在php不同的版本或者不同的服务器配置下,有的 magic_quotes_gpc和magic_quotes_runtime设置为on,有的又是off,所以我们写的程序必须符合on和off两种情况。那么magic_quotes_gpc和magic_quotes_runtime两个函数有什么区别呢?看下面的说明:
magic_quotes_gpc
作用范围是:WEB客户服务端;
作用时间:请求开始是,例如当脚本运行时。
magic_quotes_runtime
作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;
作用时间:每次当脚本访问运行状态中产生的数据。
所以
magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据
例子说明:
$data1 = $_POST['aaa'];
$data2 = implode(file('1.txt'));
if(get_magic_quotes_gpc()){
//把数据$data1直接写入数据库 (自动转译)
}else{
$data1 = addslashes($data1);
//把数据$data1写入数据库,用函数(addslashes()转译)
}
if(get_magic_quotes_runtime()){
//把数据$data2直接写入数据库(自动转译)
//从数据库读出的数据要经过一次stripslashes()之后输出stripslashes()的作用是去掉:\ ,和addslashes()作用相反
}else{
$data2 = addslashes($data2);
//把数据$data2写入数据库
//从数据库读出的数据直接输出
}
最关键的区别是就是上面提到的2点:他们针对的处理对象不同
magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据
在这里顺便在提几个想关联的函数:
set_magic_quotes_runtime():
设置magic_quotes_runtime值. 0=关闭.1=打开.默认状态是关闭的.可以通过 echo phpinfo(); 查看magic_quotes_runtime
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=关闭.1=打开
get_magic_quotes_runtime():
查看magic_quotes_runtime值。0=关闭.1=打开.
注意的是没有 set_magic_quotes_gpc()这个函数,就是不能在程序里面设置magic_quotes_gpc的值。
可以修改php.ini中 magic_quotes_runtime boolean的设置
当你的数据中有一些
\
"
'
这样的字符要写入到数据库里面,又想不被过滤掉的时候,它就很有用,会在这些字符前加上\
中国\地大物博"哈哈"
中国\\地大物博\"哈哈\"
set_magic_quotes_runtime是用来设置PHP 环境配置的变量 magic_quotes_runtime 值。
0-关闭 1-打开
程序中检测状态用get_magic_quotes_runtime,返回 0 表示关闭本功能;返回 1 表示本功能打开。若 magic_quotes_runtime 打开时,所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。
在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的 (包括数据库或者文件)数据中的溢出字符加上反斜线。
当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与 get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。
为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测设置状态秋决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉。
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的'"\加上反斜线。可以用 get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
回复 引用
订阅 TO
魔法引用函数magic_quotes_gpc和magic_quotes_runtime的区别和用法
PHP提供两个方便我们引用数据的魔法引用函数 magic_quotes_gpc和magic_quotes_runtime,这两个函数如果在php.ini设置为ON的时候,就会为我们引用的数据碰到 单引号' 和 双引号" 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行,可是我们在php不同的版本或者不同的服务器配置下,有的 magic_quotes_gpc和magic_quotes_runtime设置为on,有的又是off,所以我们写的程序必须符合on和off两种情况。那么magic_quotes_gpc和magic_quotes_runtime两个函数有什么区别呢?看下面的说明:
magic_quotes_gpc
作用范围是:WEB客户服务端;
作用时间:请求开始是,例如当脚本运行时。
magic_quotes_runtime
作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;
作用时间:每次当脚本访问运行状态中产生的数据。
所以
magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据
例子说明:
$data1 = $_POST['aaa'];
$data2 = implode(file('1.txt'));
if(get_magic_quotes_gpc()){
//把数据$data1直接写入数据库 (自动转译)
}else{
$data1 = addslashes($data1);
//把数据$data1写入数据库,用函数(addslashes()转译)
}
if(get_magic_quotes_runtime()){
//把数据$data2直接写入数据库(自动转译)
//从数据库读出的数据要经过一次stripslashes()之后输出stripslashes()的作用是去掉:\ ,和addslashes()作用相反
}else{
$data2 = addslashes($data2);
//把数据$data2写入数据库
//从数据库读出的数据直接输出
}
最关键的区别是就是上面提到的2点:他们针对的处理对象不同
magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据
在这里顺便在提几个想关联的函数:
set_magic_quotes_runtime():
设置magic_quotes_runtime值. 0=关闭.1=打开.默认状态是关闭的.可以通过 echo phpinfo(); 查看magic_quotes_runtime
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=关闭.1=打开
get_magic_quotes_runtime():
查看magic_quotes_runtime值。0=关闭.1=打开.
注意的是没有 set_magic_quotes_gpc()这个函数,就是不能在程序里面设置magic_quotes_gpc的值。
发表评论
-
Magento模板及布局文件中引用Static Block的方法
2013-03-21 10:25 1287Static Block是Magento提供的非常实用的一种 ... -
PHP ORM框架与简单代码实现
2013-02-18 12:37 1437对象关系映射(Object Relational Mappi ... -
php.ini安全配置详细解释
2013-01-24 11:28 1937PHP本身再老版本有一些问题,比如在 php4.3.10和p ... -
关于PHP学习
2012-11-02 21:54 8161.首先看了PHP的源码API ... -
Zend Framework的DB处理-表关联(转载)
2012-04-24 10:35 1176介绍: 在RDBMS中,表之间有着各种 ... -
浅谈Zend Framework, CodeIgniter与Kohana
2012-04-13 17:11 1240抛砖引玉,这三份框架 我都花了一定的时间精力去了解,根据 ... -
浅谈Zend Framework, CodeIgniter与Kohana
2012-04-13 17:10 14<div id="article_conten ... -
22个开源的PHP框架
2012-02-06 12:40 969http://coolshell.cn/articles/10 ... -
isolated 十个超级有用的PHP代码片段
2012-01-31 15:50 8881. 发送短信 调用 TextMagic API。 // ... -
Drupal 主页定制:定制个性的drupal 主页<front>
2011-11-24 23:48 1062默认主题就是列表格式,像blog一样,一般做企业展示性的网站, ... -
drupal6.x中创建新的主题模版和区域(Regions)
2011-11-24 23:27 15792011-01-02 18:29 ... -
9大最有潜力PHP开源项目:PHP FOR Android开发居首
2011-11-10 11:21 1538PHP的开源世界可谓相当 ... -
Comparing PHP Frameworks ( Symfony, CakePHP, YII and CodeIgniter)
2011-06-30 18:13 1553转自 http://karim-ouda.blogspot.c ... -
A Good PHPer
2011-01-18 16:35 7621.首先看了PHP的源码API函数,对于许多口水仗的争论一笑而 ... -
PHP实现html标签补全
2011-01-18 15:37 1179PHP实现html标签补全 作者:朦朧中的罪惡 | ... -
Comparison of web application frameworks
2011-01-18 15:29 1013From Wikipedia, the free encycl ... -
搭建Eclipse PDT开发CakePHP的环境
2011-01-14 14:20 2671搭建Eclipse PDT开发CakePHP ... -
Developing custom PHP extensions PECL Tutorials 从源程序编译 DLL
2011-01-04 17:34 1803想了很久怎么给这篇文 ... -
国外主流PHP框架比较-CodeIgniter、CakePHP、ZendFramework、Symfony
2010-12-01 13:16 1274最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架( ... -
面向 PHP 5.3 友好的 PHP 开发
2010-10-12 13:57 1211最近 Debian 的 testing 版 ...
相关推荐
标题中提到的“php set_magic_quotes_runtime() 函数过时解决方法”指出,在PHP中,`set_magic_quotes_runtime()` 函数由于不再被支持,需要寻找替代方案来处理运行时魔术引号的设置。在PHP的历史版本中,这个函数...
可以使用set_magic_quotes_runtime()函数来控制magic_quotes_runtime的状态,设置为1表示开启,设置为0表示关闭。需要注意的是,magic_quotes_runtime在关闭状态下,从文件或数据库中读取的数据不会被自动转义,可能...
如果服务器的magic_quotes_gpc设置为关闭,可以在必要时使用set_magic_quotes_runtime(0)关闭自动转义功能。 重要的是要注意,在PHP6中已经移除了magic_quotes_gpc选项,这意味着所有的编程都需要在magic_quotes_...
`set_magic_quotes_runtime(int new_setting)`函数则用于设置此功能的开关状态,参数new_setting为0时关闭,1时打开。 魔术引号在PHP中的应用主要是为了增加安全性,避免SQL注入等问题,但有时也会带来不便,比如当...
相反,magic_quotes_runtime则可以在脚本运行时通过ini_set()函数进行配置。 在实际应用中,当检测到php.ini配置文件中开启了magic_quotes_gpc和magic_quotes_runtime时,就可以放心地使用这些指令进行数据过滤。若...
@set_magic_quotes_runtime(0); $MQG = get_magic_quotes_gpc(); if(!$MQG && $_POST) $_POST = daddslashes($_POST); if(!$MQG && $_GET) $_GET = daddslashes($_GET); // 转译字符函数 function daddslashes($...
`set_magic_quotes_runtime`函数接受一个整数值作为参数,0表示关闭,1表示打开。关闭魔术引号可以避免因不必要的转义导致的数据处理问题,尤其是当你需要使用正则表达式(preg_系列函数)时,因为反斜杠在正则...
此外,set_magic_quotes_runtime(0)函数用于关闭字符窜入库自动转意,以提高程序的性能。 在include/common.inc.php文件中,还加载了global.func.php文件,该文件包含了一些程序全局都需要用的函数,例如strip_sql...
set_magic_quotes_runtime() 函数用于设置 magic_quotes_runtime 配置选项,而不是修改页面过期时间。 _PHP Cookie_ 8. Cookie 最大长度是?答案:D、4KB。Cookie 的最大长度是 4KB,但这只是一个约定的限制,实际...
值得注意的是,PHP中并没有提供set_magic_quotes_gpc函数,这意味着我们不能在程序运行时改变magic_quotes_gpc的设置,只能依赖于php.ini配置文件或者通过其他配置方式(如.htaccess)来关闭magic_quotes_gpc。...
然后,通过 `set_magic_quotes_runtime(0)` 关闭了 `magic_quotes_runtime` 功能,这个选项在处理外部数据时会自动添加反斜杠,以防止 SQL 注入等问题。然而,现代 PHP 开发中,通常推荐使用预处理语句(如 PDO 或 ...
- `get_magic_quotes_runtime`, `set_magic_quotes_runtime`: 这些函数处理输入数据的自动引用,禁用可能是为避免不一致的安全策略。 - `getopt`: 解析命令行参数,禁用可能是因为云环境中通常不直接接收命令行...
在php5.3被放弃的函数有: ereg();//直接用mb_ereg代替,或是... set_magic_quotes_runtime(); split(); mysql_close(); // 将不支持全部关闭, 需要改为:mysql_close($link); 您可能感兴趣的文章:Ubuntu12下编译安装
由于set_magic_quotes_runtime()函数在PHP5.3.0之后被废弃,因此在使用PHP5.3.0以前的版本时,建议统一配置关闭此选项。此外,由于magic_quotes_gpc不能通过函数来定义,建议在服务器上统一开启,然后在编写程序时...
set_magic_quotes_runtime(0); ``` `error_reporting(0)`用于关闭所有错误报告,这在生产环境中较为常见,目的是防止敏感信息泄露。`set_magic_quotes_runtime(0)`则禁用了运行时的magic_quotes功能,该功能自动对...
set_magic_quotes_runtime函数用于设置magic_quotes运行时的值。 set_time_limit函数用于设置脚本执行的最大秒数。 dl函数用于在运行时加载PHP扩展模块。 main函数在PHP中是一个特殊的函数,用于启动脚本。 ...
此外,`set_magic_quotes_runtime()`函数在PHP 5.3后也被弃用,该函数用于开启或关闭运行时自动转义字符串的特性。由于安全性和性能考虑,此功能在PHP 5.3中被废弃,并在PHP 6中彻底移除。处理这个错误的方法是不再...
**set_magic_quotes_runtime函数**:设置magic_quotes_runtime运行时标志。 **set_time_limit函数**:设置脚本的最大执行时间。 **dl函数**:用于在运行时动态加载PHP扩展模块。 **main函数**:是一个挂名的函数...