标签: magic-quotes-gpc

如何在共享主机上关闭魔术引号?

我想关掉PHP的魔术引号.我无法访问php.ini.

当我尝试添加php_flag magic_quotes_gpc off到我的.htaccess文件时,我收到500内部服务器错误.这是我的.htaccess文件的样子:

AddType x-mapp-php5 .php
php_flag magic_quotes_gpc off
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用ini_set('magic_quotes_gpc', 'O'),但这没有效果.

如何关闭魔术报价?

php magic-quotes-gpc

41
推荐指数
5
解决办法
13万
查看次数

解决魔法引号,或者只是确保它们已关闭?

是否值得将我的代码更改为"更便携"并能够处理魔法引号的恐怖,或者我应该确保它始终通过.htaccess文件关闭?

if (get_magic_quotes_gpc()) {
    $var = stripslashes($_POST['var']);
} else {
    $var = $_POST['var'];
}
Run Code Online (Sandbox Code Playgroud)

php_flag magic_quotes_gpc off
Run Code Online (Sandbox Code Playgroud)

php magic-quotes-gpc

7
推荐指数
1
解决办法
1870
查看次数

魔术行情关闭,仍然大幅下滑

我有$ _POST变量从带引号斜杠的标签传入.我知道魔术引号已关闭,并使用if(get_magic_quotes_gpc())语句来阻止它们.但是,斜杠仍在增加.这是为什么?

形成

<form method="POST" action="">
<input type="text" name="spe_set" />
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

PHP

print_r($_POST['spe_set']); // if I wrote "Test's", this prints as "Test\'s"
Run Code Online (Sandbox Code Playgroud)

所以我做了,

if ( get_magic_quotes_gpc() )
    $tempvar = stripslashes($_POST['spe_set']);
else
    $tempvar = $_POST['spe_set'];

print_r($tempvar); // Still says "Test\'s"
Run Code Online (Sandbox Code Playgroud)

php magic-quotes-gpc

7
推荐指数
1
解决办法
4114
查看次数

为什么将magic_quotes_gpc视为不良做法?

为什么在PHP中启用magic_quotes_gpc被认为是一种不好的做法?

php magic-quotes-gpc

3
推荐指数
1
解决办法
8923
查看次数

json_decode()无法在Web服务器上运行

我有一个PHP脚本,它在我的localhost服务器上运行完美.

当我将所有内容从localhost移动到Web服务器时,我json_decode无法正常工作.

我尝试过json_encode但仍然没有.

这种行为可能有什么问题?

我的代码:

$productsArr = json_encode($_GET['object']);

$_GET['object'] 是经过验证的JSON.

我的最后一个选项可能是,magic_quotes但我不知道我是否可以使用cPanel更改PHP.ini文件,这是我对服务器的唯一访问权限.

我很感激任何想法.

编辑:

这是我的网址的一部分:

Request URL:http://something.com/download.php?object=[{%22code%22:%222F-58S%22},{%22code%22:%22HT-45H%22},{%22code%22:%2244-3%22},{%22code%22:%22898-OPv%22}]&checkbox=
Run Code Online (Sandbox Code Playgroud)

如果这甚至很重要,我正在使用这个标题:

header('Content-Description: File Transfer'); 
header("Content-type: application/ms-word");
header("Content-Disposition: attachment;Filename=$name_of_file.doc");
Run Code Online (Sandbox Code Playgroud)

php json magic-quotes-gpc

3
推荐指数
1
解决办法
3297
查看次数

PHP - 魔术引用gpc和stripslashes问题

好吧,我的托管公司已经magic_quotes_gpc转向ON,我编写了我的PHP脚本stripslashes(),准备这个.但现在托管公司说要magic_quotes_gpc关闭它,我想知道现在我的数据现在会发生什么,如果stripslashes()存在,我应该通过所有数百万行代码并摆脱stripslashes()?还是stripslashes()单独留下这个功能?会不会stripslashes()毁了我的数据?

php stripslashes magic-quotes-gpc

2
推荐指数
1
解决办法
3323
查看次数

magic_quotes_gpc()的解毒剂?

我已经看过几十个这样的PHP代码片段:

function DB_Quote($string)
{
    if (get_magic_quotes_gpc() == true)
    {
        $string = stripslashes($string);
    }

    return mysql_real_escape_string($string);
}
Run Code Online (Sandbox Code Playgroud)

如果我打电话DB_Quote("the (\\) character is cool");会怎么样?(谢谢jspcal!)

难道我们不应该只在剥离斜线get_magic_quotes_gpc() == true 价值源于$_GET,$_POST$_COOKIE超全局变量?

php stripslashes magic-quotes-gpc addslashes

1
推荐指数
2
解决办法
1497
查看次数

Zend Framework双重转义

我使用Zend框架和一个项目的学说,问题是,当我在数据库中插入像O'Shea这样的字符串时,它会插入O \'Shea.我想这是因为双重逃逸.一个当我得到帖子和一个当我使用教条时,为什么当我print_r($ _ POST)我得到的价值已经被转义?

doctrine查询的语法是:

$req = $this->getRequest()->getPost();
$company = Doctrine::getTable('Project_Model_Companies')->find($company_id);
$company->name = $req['name'];
$company->save();
Run Code Online (Sandbox Code Playgroud)

请帮我如何避免这种双重逃逸,或者是什么问题?谢谢.

php doctrine zend-framework escaping magic-quotes-gpc

1
推荐指数
1
解决办法
1496
查看次数

我应该总是为_POST _GET和_COOKIE变量使用stripslashes

当我读到get_magic_quotes_gpc()PHP中的函数时,我真的很困惑.

据说该函数已被弃用(例如).

但是PHP 5.3中的默认行为是什么?我用来检查,如果magic_quotes_gpc在和全部剥离斜线,如果是这样的话,就在我的脚本的开头为所有POST,GETCOOKIE变量,这样我就不会感到困惑.

但是如果我不检查是否使用了添加的斜杠get_magic_quotes_gpc(),如果PHP 5.3没有添加斜杠,则总是删除斜杠会导致错误的数据.

对此也有同样的困惑

目前magic_quotes_gpc在我的服务器上(PHP 5.2.17),所以我需要删除斜杠.但是我应该如何处理这个为未来的PHP版本做好准备?

我可以在脚本开头的运行时期间以某种方式设置默认值吗?但是什么是默认值?

php magic-quotes-gpc

1
推荐指数
1
解决办法
1082
查看次数

PHP添加了回退斜杠.如何阻止这一点

背景:我不是一个php程序员,我只知道足够让我的iOS应用程序的Web服务部分工作.

我发现我的php正在为我的文本添加反斜杠,当我不想要它时.例如,如果我设置一些这样的变量:

$directory = "directory/";
$file = "file.jpg"
Run Code Online (Sandbox Code Playgroud)

然后我通过JSON数组输出回我的设备:

$directory . $file 
Run Code Online (Sandbox Code Playgroud)

我明白了

"directory\/file.jpg"
Run Code Online (Sandbox Code Playgroud)

我已经在我的php中运行了get_magic_quotes_gpc并报告了魔术引号被关闭.我是这样做的:

if (get_magic_quotes_gpc()){
//then I send something back in the JSON array to let me know that get_magic_quotes_gpc is on
}
Run Code Online (Sandbox Code Playgroud)

我试图使用stripslashes()(在原始变量或输出上)并且没有任何变化.

那么如何阻止它这样做呢?因为这意味着我无法告诉我的php删除特定目录中的文件.

提前致谢

php escaping magic-quotes-gpc

1
推荐指数
1
解决办法
214
查看次数

get_magic_quotes_gpc 消失了,如何批量更新代码

我有数千个调用 get_magic_quotes_gpc 的实例。由于 get_magic_quotes_gpc 即将消失,我找到了一个建议,只需将 call 替换为“false”。

然后是代码:

if (get_magic_quotes_gpc()) {
    $cell = stripslashes($cell);
}
Run Code Online (Sandbox Code Playgroud)

会成为:

if (false) {
    $cell = stripslashes($cell);
}
Run Code Online (Sandbox Code Playgroud)

这需要查找并替换每个实例。

我已经做了一些更新来测试一次性解决方案,但是是否有批量或通用解决方案,或者我是否必须雇用额外的程序员来筛选文件?否则当 PHP V8 出现时,将会出现很多崩溃。

php magic-quotes-gpc

1
推荐指数
1
解决办法
76
查看次数