这是一个简单的问题,有一个奇怪的难以回答的答案.
get_magic_quotes_gpc()报告0.我重复一遍,魔术报价已关闭.魔术引号似乎已被禁用php.ini(不是在运行时).
然而,当在PHP中访问时,包括单引号(')的所有POST数据都被转义.可能是什么导致了这个?
谢谢.
编辑:对于好奇,这是我们的phpinfo的屏幕截图:http: //img843.imageshack.us/img843/6959/screenshot20120120at552.png
编辑:在准备测试用例时,我发现了问题的一般原因.当我们的应用程序与WP Multisite安装集成时,我们正在引导Wordpress.当我禁用Wordpress引导时,自动转义被禁用.有谁知道Wordpress的自动转义代码可能位于何处?
我有一个包含表单的php页面.
有时这个页面会被提交给自己(就像上传图片时一样).
我不希望用户必须一次又一次地填写每个字段,因此我将其用作表单内文本输入的值:
value="<?php echo htmlentities(@$_POST['annonsera_headline'],ENT_COMPAT,'UTF-8');?>">
Run Code Online (Sandbox Code Playgroud)
这是有效的,除了它在每个双引号之前添加一个"\"符号...
例如,写入19"轮子后页面提交给自己:
19\" wheels
Run Code Online (Sandbox Code Playgroud)
如果我甚至不使用htmlentities,那么引号之后的所有内容都会消失.
这里有什么问题?
更新:
好的,所以问题是magic_quotes ...这是在我的服务器上启用的...
我应该禁用吗?我有root访问权限,这是我的服务器:)
什么是禁用它的伤害?
我们使用POST通过API调用传递ssh公钥.奇怪的是,当我们在PHP中获得值时,加号(+)符号被完全剥离.显然,这不起作用,因为它改变了公钥的价值.
请参阅以下原始卷曲请求:
curl "https://api.example.com/v1/keys" -X POST -d "key=ssh-dss AAAAB3NzaC1kc3MAAACBAOLsyYuyI0/3/UjajY8ljdgkAV2k9jZxjlVGWvHa9afMuO7DqsOcu0o4e5D9TPScsO5XrgTrmcXHkOtM54fOPdXSzonWOXUIn1XEumdHDlv9YRZTCW/A9qajhPR67y+92su9AqeGXI0/q3BXZsZcC1nr1NjgSiz++r+YZFVWfQsNAAAAFQCYBf0KXVLfYUE6cOTbWnBWn5Py9QAAAIEA3WAkAwhR7fhwWpxuwxNnsB8NXwsEs2NWiOaiMu3dmDWyqGRjfOYUchoLelBMpv4oLTZuaGW4/DCWfdh6pgrxs39MXf+FdTir8KeHIIoXEdcXpWqnuyNBdXn5XNY54vc1eMkbm4q3D1i3+IMhNAURasdvFRoDzgH9s68Ik3P5HrMAAACAab+CiT010wXMzv+6v+oWcRWbxhGou/ND+K2QGU1kAW+KuUGmhOgB6XPka7iEsIeA/+Ojh+OiNedFZlJAZq1jarew106YCOrUlbtDk7pAAUJQhIhKFhpNE0UhLRBWOF9LpjDwWu55dlrfLURE32TuMx/NsazWVypbzJqy48d2sg8= justin@mbpro"
Run Code Online (Sandbox Code Playgroud)
但是,当我们var_dump()在PHP中输出$ _POST ['key']的值时,它是:
string(601) "ssh-dss AAAAB3NzaC1kc3MAAACBAOLsyYuyI0/3/UjajY8ljdgkAV2k9jZxjlVGWvHa9afMuO7DqsOcu0o4e5D9TPScsO5XrgTrmcXHkOtM54fOPdXSzonWOXUIn1XEumdHDlv9YRZTCW/A9qajhPR67y 92su9AqeGXI0/q3BXZsZcC1nr1NjgSiz r YZFVWfQsNAAAAFQCYBf0KXVLfYUE6cOTbWnBWn5Py9QAAAIEA3WAkAwhR7fhwWpxuwxNnsB8NXwsEs2NWiOaiMu3dmDWyqGRjfOYUchoLelBMpv4oLTZuaGW4/DCWfdh6pgrxs39MXf FdTir8KeHIIoXEdcXpWqnuyNBdXn5XNY54vc1eMkbm4q3D1i3 IMhNAURasdvFRoDzgH9s68Ik3P5HrMAAACAab CiT010wXMzv 6v oWcRWbxhGou/ND K2QGU1kAW KuUGmhOgB6XPka7iEsIeA/ Ojh OiNedFZlJAZq1jarew106YCOrUlbtDk7pAAUJQhIhKFhpNE0UhLRBWOF9LpjDwWu55dlrfLURE32TuMx/NsazWVypbzJqy48d2sg8= justin@mbpro"
Run Code Online (Sandbox Code Playgroud)
有什么想法导致加号被删除?