如何正确的理解PHP转 义是一个初学者比较困扰的问题。我们今天为大家简要的讲述了PHP转义的具体含义,希望有所帮助。PHP转义一直困扰着我, 今天认真的看了一下PHP手册, 终于解决了.

在PHP中默认有一个"魔术引号"的开关, 如果这个开关打开, 从外部转入的$_GET, $_GET, $COOKIE都会PHP转义.
比如:

http://localhost/test.PHP?test=1'

然后在test.PHP输出时自动转义, 输出如下:

var_dump($_GET['test'];

========output=======
string(3) "1\'"

所示 ' 号被加入了\转义了.但这里有一个问题, 当将这个值输出到网页时会看到满屏的\, 这里可以使用另一个函数, stripslashes 可以将\去除.

在手册中的PHP转义意思是说推荐不要开启"魔术引号" 因为效率问题, 不这也有一个好处, 就是可以非常安全, 对于我这样的新手来说.
关闭"魔术引号有三个方法, 因为这个是不可以PHP运行进关闭的, 也就是说不可以用ini_set().

1. 对PHP.ini设置.

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

2. 如果对系统无法修改可以使用 .htaccess

PHP_flag magic_quotes_gpc Off

3. 效率最低的PHP转义方法

  1. if (get_magic_quotes_gpc()) {
  2. function stripslashes_deep($value)
  3. {
  4. $value = is_array($value) ?
  5. array_map('stripslashes_deep', $value) :
  6. stripslashes($value);
  7. return $value;
  8. }
  9. $_POST = array_map('stripslashes_deep', $_POST);
  10. $_GET = array_map('stripslashes_deep', $_GET);
 

get_magic_quotes_gpc() PHP转义的真正含义的更多相关文章

  1. JQuery选择器中含有冒号的ID处理差异的分析

    问题提出 对于一个输入框, 如果其id中含有冒号(:),选择器使用需要有特殊写法, 例如 id为下 <input type="text" value="ddd&qu ...

  2. Python读写文件你真的了解吗?

    内容概述 Python文件操作 针对大文件如何操作 为什么不能修改文件? 你需要知道的基本知识 1. Python文件操作 这一部分内容不是重点,因为很简单网上很多,主要看看文件操作的步骤就可以了. ...

  3. python-IO编程,文件读写

    一.文件读写 1.打开文件 函数:open(name[. mode[. buffering]]) 参数: name:必须:文件的文件名(全路径或执行文件的相对路径.)) mode:可选:对文件的读写模 ...

  4. 正则re

    1.简介 其实re在基本模块里已经介绍过,但是在爬虫中re是非常重要的,所以在这里再进行详细描述. re在解析html内容时是效率最高的,但是也是最难的,一般来说,都是结合xpath和re使用,这样解 ...

  5. Python中字符串的操作

    字符串的基本详情 用单引号或者双引号包含的内容 不支持直接在内存中修改 可支持索引.切片.成员检查.长度查看 字符串赋值到变量 str1 = 'hello world' 字符串打印查看 str1 = ...

  6. [No0000103]JavaScript-基础课程3

    在 JavaScript 中,函数的参数是比较有意思的,比如,你可以将任意多的参数传递给一个函数,即使这个函数声明时并未制定形式参数 function adPrint(str, len, option ...

  7. python的re正则表达式模块

    元字符  .   *   +   ?   ^   $   { }     [ ]     -     \ .  匹配除了/n之外的任意一个字符 * 匹配*前面的单个字符任意次,即[0,+∞] + 匹配 ...

  8. sqoop命令,mysql导入到hdfs、hbase、hive

    1.测试MySQL连接 bin/sqoop list-databases --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username ...

  9. python--模块之re正则表达式

    简介: 正则表达式本身是一个小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,我们可以通过直接调用来实现正则匹配. 正则表达式基础知识: --普通字符匹配自身 abc ----a ...

随机推荐

  1. Leetcode501.Find Mode in Binary Search Tree二叉搜索树中的众数

    给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当 ...

  2. golang内置函数

  3. vs code 配置c/c++环境

    1. 编译 通过 code-runner插件 运行编译 安装code-runner后在settings.json中找到code-runner.executorMap,可以看到其中的cpp 文件运行方式 ...

  4. less知识点总结(一)

    1.unit 删除或更换单位. 参数: dimension: 带单位或不带单位的数字. unit: (可选) 目标单位,如果省略此参数,则删除单位. See convert for changing ...

  5. iOS block 用法

    1.定义Block /* 回传void ,参数也是void 的block*/ void (^blockReturningVoidWithVoidArgument)( void ); /* 回传整数,两 ...

  6. 【JZOJ3885】【长郡NOIP2014模拟10.22】搞笑的代码

    ok 在OI界存在着一位传奇选手--QQ,他总是以风格迥异的搞笑代码受世人围观 某次某道题目的输入是一个排列,他使用了以下伪代码来生成数据 while 序列长度<n do { 随机生成一个整数属 ...

  7. Docker Remote API使用准备

    1 修改配置文件 CentOS: /etc/sysconfig/docker Ubuntu: /etc/init/docker.conf 1.添加: DOCKER_OPTS='-H tcp://0.0 ...

  8. mysql 使用concat模糊查询

    如果这三个字段中有值为NULL,则返回的也是NULL,那么这一条记录可能就会被错过,使用IFNULL进行判断 SELECT * FROM `magazine` WHERE CONCAT(IFNULL( ...

  9. FastAdmin 开发第 4 天:初试命令行

    FastAdmin 最强大的是命令行 先从 test 表开始. 在 FastAdmin 默认有一个 test 表格,用于命令行 crud 测试. 如何开始? 只需要在项目命令行中输入以下命令就会自动生 ...

  10. MaxCompute客户端(odpscmd)在windows命令行下查询中文乱码问题处理实践

    MaxCompute客户端工具是阿里云大数据计算服务MaxCompue产品官方客户端工具,通过客户端工具可以连接MaxCompute项目,完成包括数据管理.数据上下传.作业执行.用户及授权管理等各项操 ...