今天在读EcShop的源码中发现里面有几个地方涉及到了PHP魔术引号,之前也碰到过都忽略过去了,再次碰到该深入的理解,虽然自PHP 5.3.0起魔术引号被废弃废弃并将自PHP 5.4.0起移除,但是了解魔术引号以后,在阅读一些PHP 5.3.0之前源码碰到了魔术引号阅读起来也很顺畅。

什么是魔术引号:

魔术引号是程序自动将进入PHP脚本的数据进行转意的过程。当打开时,所有的 '(单引号),"(双引号),\(反斜线)和 NULL 字符都会被自动加上一个反斜线进行转义。和 addslashes() 函数的作用完全相同。

魔术引号指令:

magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。 参见 get_magic_quotes_gpc()。

magic_quotes_runtime 如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。 见 set_magic_quotes_runtime() 和 get_magic_quotes_runtime()。

magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非反斜线。此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ''。而双引号、反斜线 和 NULL 字符将不会进行转义。 如何取得其值参见 ini_get()。

魔术引号作用:

当初引入魔术引号是安全方面的考虑,阻止SQL注入,它能帮助php新手在不知不觉中写成相对更安全的

PHP语言什么是魔术引号,什么是PHP魔术引号相关推荐

  1. python双引号和单引号区别_Python中单引号,双引号,3个单引号及3个双引号的区别...

    一.单引号和双引号 在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如 str1 = 'python' str2 = "python" str1和str2是没有 ...

  2. 单引号(')和双引号()

    关键是要养成良好的习惯. 单引号(')一般用在单字符,如=='c'. 双引号(")一般用在字符串,如"abc". 如果嵌套使用的话,一般用交替方法,尤其是html中. 如 ...

  3. python中3个单引号_Python中单引号,双引号,3个单引号及3个双引号的区别

    单引号和双引号 在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如 str1 = 'python'str2= "python" str1和str2是没有任何区别 ...

  4. python中单引号和双引号的区别_python中单引号,双引号,多引号区别

    先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使用\ ("连行符")吧 ...

  5. python单双三引号区别_python中单引号,双引号,多引号区别_python中单双引号

    python中单引号,双引号,多引号区别 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使 ...

  6. php魔术方法 效率,PHP常用魔术方法的性能探究

    性能往往是衡量代码很重要的一个标准.我们日常编码中经常会用到一些魔术方法,这些PHP提供的魔术方法是否会影响我们程序的性能呢?是否需要减少魔术方法 的使用呢?本文将通过测试对比来了解魔术方法对性能的影 ...

  7. php 输出中文的引号,如何将php英文引号转换为中文引号

    如何将php英文引号转换为中文引号 发布时间:2020-07-30 10:17:27 来源:亿速云 阅读:57 作者:Leah 这期内容当中小编将会给大家带来有关如何将php英文引号转换为中文引号,文 ...

  8. Python中单引号,双引号,三个单引号,外双单引号内双引号,外双引号内单引号的区别...

    Python 中一对单引号和一对双引号都可表示一个字符串: 1 Str1 = 'python' 2 Str2 = "python" 思考? 如何表示字符串: I ' am a py ...

  9. js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和php很像:单引号快,双引号可转义字符,双引号可解析变量)...

    js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和php很像:单引号快,双引号可转义字符,双引号可解析变量) 一.总结 1.html中属性规范是 ...

  10. html双引号打不正确,双引号要占一个空格吗 为什么打双引号要空格一下才能出来...

    双引号的使用方法,双引号使用时还需要与前面一个字不用. 英文标点的引号前后都要留空格吗? 英文标点的引号前后是否留空格需要分单引号和双引号. 单引号表示所有格,缩写时,前后都不空格.例如: (1) I ...

最新文章

  1. Qt第三方Android库
  2. go errgroup 用法示例
  3. 百度社会化分享组件使用问题
  4. java把一段英文拆成单词_java编程题,输入一段英文文章,单词之间都已经用空格分隔,本人想以每5个单词为一行输出,怎么写?请指教...
  5. Fragment的保存
  6. Spring Boot 永远滴神!10分钟快速入门
  7. 转:android 避免内存泄露
  8. 【数据结构笔记30】拓扑排序、AOV网络、AOE网络、关键工序
  9. 数据驱动的智慧城市 中兴通讯推进“沈阳模式”落地
  10. SqlServer-RBAC五表权限
  11. python json解析 超过对象_Python | 关于Requests与Json的使用小结
  12. 译:理解 Win32 OutputDebugString
  13. doip诊断会话的建立
  14. 全球首例,美国医生为患者移植猪心脏,术后情况良好
  15. 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
  16. 时分秒倒计时的js实现
  17. 解决方案:“Project1.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。
  18. 从逐利到协力 「DAO」阻且长
  19. graphpad图片怎么导出矢量图_Graphpad Prism 8如何绘制生存曲线
  20. 如何更改AD域安全策略-密码必须符合复杂性要求

热门文章

  1. 浏览器因为代理打不开
  2. 【元胞自动机】元胞自动机3D森林火灾模型【含Matlab源码 656期】
  3. 斯坦福大学计算机专业培养方案剖析
  4. POS机这些基础知识,你一定要了解!
  5. Revit二次开发入门教程一(工具篇)
  6. Oracle EBS AR_RECEIPT_API_PUB集合
  7. 动手学深度学习-12 循环神经网络基础
  8. Linux -- ftok函数
  9. 商品期货 — 程序化交易
  10. Vivado经典案例——使用Simulink设计FIR滤波器