Page 1 sur 1

magic quotes ?

Posté : 30 déc. 2006, 22:16
par jojolapine
bonsoir à tous, j'ai transféré aujourd'hui un script qui fonctionnait en local, et voilà que des \ fusent de partout...
je croyait me souvenir qu'il y avait une directive magic quotes ou je sais pas quoi... mais je trouve pas... pour info voici mon phpinfo:
http://phpc.puffins.fr/phpinfo.php
et sur mon panel d'administration, j'ai mis

PHP Safe Mode à off

PHP Safe Mode GID à on

PHP Register Globals à off
si vous aviez une idée?

Posté : 30 déc. 2006, 22:24
par Ajoloca
Bonsoir,
Dans ton fichier php.ini regarde les directives suivantes

Code : Tout sélectionner

; Magic quotes for incoming GET/POST/Cookie data. magic_quotes_gpc = Off ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. magic_quotes_runtime = Off ; Use Sybase-style magic quotes (escape ' with '' instead of \'). magic_quotes_sybase = Off

Posté : 30 déc. 2006, 22:25
par jojolapin e
ben le problème c'est que je n'ai pas accès au php.ini, je suis pas sur un dédié :langue:
y a pas un moyen de savoir avec ini_get()...

Posté : 30 déc. 2006, 22:33
par Ajoloca
Tu veux dire avec ini_set().

Ça dépend si ton hébergeur n'a pas inhibé cette fonction.

Sinon essai par un .htaccess, tu auras surement plus de chances (pas sur si inhibée, mais à tester)

Posté : 30 déc. 2006, 22:34
par Xenon_54
echo ini_get('magic_quotes_gpc');
No modifiable par ini_set ou .htaccess

Tu peux simuler la désactivation ainsi: (fonction que j'utilisais du temps que j'étais en mutualisé)
// Get ride of those f*cking quotes
if (get_magic_quotes_gpc()) {

	function stripslashes_deep($value) {
		return is_array($value)
			? array_map('stripslashes_deep', $value)
			: stripslashes($value);
	}

	$_POST = array_map('stripslashes_deep', $_POST);
	$_GET = array_map('stripslashes_deep', $_GET);
	$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
	$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
}

Posté : 30 déc. 2006, 22:35
par jojolapine
bon alors j'ai essayer avec ini_set:
<?php 
echo ini_get('magic_quotes_gpc'); 
ini_set('magic_quotes_gpc',0);
echo ini_get('magic_quotes_gpc');?>
et j'ai 1 avant et après ini_set
et pour ce qui est du .htaccess, j'ai pas encore essayer...

Posté : 30 déc. 2006, 22:38
par Xenon_54
La doc dit:

Code : Tout sélectionner

magic_quotes_gpc "1" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3.
PHP_INI_PERDIR 2 Entry can be set in php.ini, .htaccess or httpd.conf

Essaie ceci dans un .htacess:

Code : Tout sélectionner

php_flag magic_quotes_gpc 0

Posté : 30 déc. 2006, 22:38
par jojolapine
merci Xenon_54, ta fonction fonctionne (:langue:)...
je vais voir avec mon hébergeur pour qu'il change tout ça malgrès tout ;-) !

Posté : 30 déc. 2006, 22:40
par jojolapine
doublement résolu!!!!!
ça marche aussi avec le .htacces !!!!
[résolu][résolu]