博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
set_magic_quotes_runtime()使用方法
阅读量:4886 次
发布时间:2019-06-11

本文共 1071 字,大约阅读时间需要 3 分钟。

在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);

转载于:https://www.cnblogs.com/applecat/p/5417324.html

你可能感兴趣的文章
转:C++模板学习
查看>>
C# 中 以 &# 打头的 编码 是: html 编码解码地址 转换
查看>>
Day06for循环和字符串的内置方法
查看>>
872.Leaf-Similar Trees
查看>>
关于android 双击事件
查看>>
Java 8 forEach examples遍历例子
查看>>
Java – How to add days to current date
查看>>
Linux操作系统下搭建LAMP环境
查看>>
GNG敏捷开发分享--代码重构
查看>>
几种排序算法小结
查看>>
JSP里比对单选框或复选框的数值而自动打勾
查看>>
第二章 JavaScript语法·
查看>>
如何在linux服务器上抓包?
查看>>
【0717作业】添加主人给宠物洗澡,添加主人带宠物玩耍,不同宠物玩耍的行为不同...
查看>>
python协程笔记
查看>>
项目经理、系统架构师经常使用的软件大全
查看>>
Python的函数参数传递:传值?引用?
查看>>
etcd集群一键安装运行
查看>>
进程、线程和多线程
查看>>
读写Session
查看>>