set_magic_quotes_runtime

在php的配置文件中,有个布尔值的设置,就是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 字符)。

一般用法如下;
if(!get_magic_quotes_gpc())
{
    addslashes($prot);
}

set_magic_quotes_runtime 用来设置php.ini文件中的magic_quotes_runtime值,当遇到反斜杆(\)、单引号(‘)、双引号(")这样一些的字符定入到数据库里,又不想被过滤掉,使用这个函数,将会自动加上一个反斜杆(\),保护系统和数据库的安全。

magic_quotes_runtime 是php.ini里的环境配置变量,0和false表示关闭本功能,1和true表示打开本功能。当magic_quotes_runtime打开时,所有外部引入的数据库资料或者文件等都会自动转为含有反斜线溢出的资料,
设置方法如下:

1、可以直接在php.ini里面设置为ON

2、set_magic_quotes_runtime(true)或者set_magic_quotes_runtime(1)

3、用ini_set函数,ini_set(magic_quotes_runtime,1);

时间: 2024-10-20 09:29:00

set_magic_quotes_runtime的相关文章

php set_magic_quotes_runtime() 函数过时解决方法

PHP5.3中 bool set_magic_quotes_runtime ( bool $new_setting )函数过时.把函数: set_magic_quotes_runtime($newsetting); 替换成: ini_set("magic_quotes_runtime", $newsetting);

CMS问答错误提示 ----------Deprecated: Function set_magic_quotes_runtime() is deprecated in D:\wwwroot\xianfanet\wwwroot\ask\include\common.inc.php on line 15

//把 set_magic_quotes_runtime(0); //替代成 ini_set("magic_quotes_runtime",0);

php中的set_magic_quotes_runtime()作用和用法

set_magic_quotes_runtime 用来设置php.ini文件中的magic_quotes_runtime值,当遇到反斜杆(\).单引号(').双引号(")这样一些的字符定入到数据库里,又不想被过滤掉,使用这个函数,将会自动加上一个反斜杆(\),保护系统和数据库的安全. magic_quotes_runtime 是php.ini里的环境配置变量,0和false表示关闭本功能,1和true表示打开本功能.当magic_quotes_runtime打开时,所有外部引入的数据库资料或者文

set_magic_quotes_runtime(0)

PHP Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in D:\Inetpub\wwwroot\discuz\install\index.php:12 Stack trace: #0 {main} thrown in D:\Inetpub\wwwroot\discuz\install\index.php on line 12 从PHP 5.4开始,set_magic_quot

PHP配置问题:AppServ安装discuz出错 Fatal error:

 Fatal error: Call to undefined function set_magic_quotes_runtime() in  D:\AppServ\www\wp-settings.php on line 27 打开C:\WINDOWS\php.ini 大约在 428 行位置,将magic_quotes_runtime 改为 Off.也就是 magic_quotes_runtime = Off 如果前面有注释的分号,也将它删掉.然后重启 Apache 服务. 打开你的 wp 目录

PHP7新特性的介绍

关于PHP 20年的发展历史: 迄今为止最流行的WEB开发语言: 超过82%的网站都会使用PHP作为他们的服务端开发语言: 新特性介绍 PHP NG – Zend Engine 3 抽象语法树 64位的 INT 支持 统一的变量语法 新增Closure::call() 一致性foreach循环 匿名类的支持 新增 <=>.**.?? .\u{xxxx}操作符 增加了返回类型的声明 增加了标量类型的声明 核心错误可以通过异常捕获 增加了上下文敏感的词法分析 PHP NG ZVAL 大小从24字节

浅析PHP7新功能及语法变化总结

标量类型声明 有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool).在旧版中,函数的参数声明只能是(Array $arr).(CLassName $obj)等,基本类型比如Int,String等是不能够被声明的 <?php function check(int $bool){ var_dump($bool); } check(1); check(tr

使用PHP发送email进行账号激活或者密码修改操作

使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协议的25端口的普通链接方式链接,只允许ssl的465或587端口[我的一个域名邮箱内测期开通的域名邮箱目前25端口还是可以链接的,可能是安全策略,限制了新开域名邮箱账户的25端口]),固php还得openssl的支持,可以查看phpinfo 准备工作: 1.PHPMailer类文件 2.有一个邮箱账

php的ini_set函数

php的ini_set函数可以在脚本中临时修改php.ini配置文件中的参数,脚本结束后修改的配置就不在生效. 某些脚本的执行可能不符合现在的php.ini中的配置要求,这种情况下用ini_set函数临时修改配置是很有用的. 但是有些配置项是不能用ini_set函数来修改的, 比如post_max_size,upload_max_filesize,只能在配置文件中修改. 还有magic_quotes_gpc 用 get_magic_quotes_gpc() 获得,不能用set_magic_quo