Okay my hosting company has magic_quotes_gpc turned ON and I coded my PHP script using stripslashes() in preparation of this. But now the hosting company says its going to turn magic_quotes_gpc OFF and I was wondering what will happen now to my data now when stripslashes() is present should I go through all my millions of lines of code and get rid of stripslashes()? or leave the stripslashes() function alone? will leaving the stripslashes() ruin my data?
Asked
Active
Viewed 3,491 times
2
HELP
- 14,237
- 22
- 66
- 100
-
4Millions of lines of code? Really? – ircmaxell Nov 30 '10 at 15:37
-
@ircmaxell well a million and one lines of code! – HELP Nov 30 '10 at 15:39
-
@ircmaxwell, they're developing the next os in php – HyderA Nov 30 '10 at 15:41
3 Answers
10
Your code should use get_magic_quotes_gpc to see if magic quotes are enabled, and only strip slashes if they are. You should run a block of code similar to the following in exactly one place, shared by all your scripts; if you're using stripslashes in multiple places you're doing it wrong.
// recursively strip slashes from an array
function stripslashes_r($array) {
foreach ($array as $key => $value) {
$array[$key] = is_array($value) ?
stripslashes_r($value) :
stripslashes($value);
}
return $array;
}
if (get_magic_quotes_gpc()) {
$_GET = stripslashes_r($_GET);
$_POST = stripslashes_r($_POST);
$_COOKIE = stripslashes_r($_COOKIE)
$_REQUEST = stripslashes_r($_REQUEST);
}
user229044
- 232,980
- 40
- 330
- 338
1
I would start going through and removing stripslashes(). You can do this ahead of time by testing for magic_quotes_gpc and only calling stripslahes() if it is needed.
user229044
- 232,980
- 40
- 330
- 338
Brad
- 159,648
- 54
- 349
- 530
0
meagar has the correct answer.
But to traverse the situation, you need something like Notepad++ with a Search within files function. Copy a snippet of meagar's code and search for stripslashes()
HyderA
- 20,651
- 42
- 112
- 180