phpmagic
A. php7如何在php.ini文件中开启自动转义功能 php.ini中不包含magic-quote
首先说明下magic-quote在PHP5.4版本中就已经废除了。详情请参考:https://www.php.net/manual/zh/info.configuration.php
应用示例
B. PHP中 get_magic_quotes_gpc() 函数作用是什么
get_magic_quotes_gpc 取得 PHP 环境变量 magic_quotes_gpc 的值。 语法: long get_magic_quotes_gpc(void); 返回值: 长整数 函数种类: PHP 系统功能 内容说明 本函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的溢出字符。 参考 get_magic_quotes_runtime() set_magic_quotes_runtime()
C. php中get_magic_quotes_runtime()函数作用是什么
取得
PHP
环境变量
magic_quotes_runtime
的值。
语法:
long
get_magic_quotes_runtime(void);
返回值:
长整数
函数种类:
PHP
系统功能
内容说明
本函数取得
PHP
环境配置的变量
magic_quotes_runtime
值。返回
0
表示关闭本功能;返回
1
表示本功能打开。若
magic_quotes_runtime
打开时,所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。
建议楼主多看看php的手册
D. PHP中如果没有开启magic_quotes_gpc()数据存入数据库中时是什么样子的。
你弄错了,应该是问开启后会有什么样的错误。。。
这个是防注入的,就是把"'"转义成"/",但是现在已经突破这个限制了。。。
E. php.ini中没有magic_quotes_gpc
ini_set('magic_quotes_gpc',0);//用这个试试。
//ini_set('magic_quotes_gpc','Off');//或者这个,都一样
F. PHP5.4移除magic_quotes_gpc功能是不是我这个程序出问题的原因呢
据php手册,magic_quotes_gpc功能主要是:
当设置 magic_quotes 为on, 所有的单引号、双引号、反斜杠 \和空字符都会被转义。
http://127.0.0.1/install.php 变成http://127.0.0.1/index.php?s=Admin/Install
这两个字符串都没有以上的会被转义的字符。
G. 为什么在php.ini中开启magic
你的 PHP 版本是不是很新?比如 5.4 5.5 之类的?
PHP 在新版本中由于性能问题,已经取消了自动转义这个功能。
这个配置和函数被保留兼容旧版本,你怎么设置它都是返回假。
要转义引号的话,判断之后,自己用 addslashes 函数转义吧。
H. PHP 开启magic_quotes_gpc = On自动转义功能时报错
主机不允许用户修改服务器配置
如果你是服务器的管理者,可以修改php.ini文件更改自动转义功能