Использование get_magic_quotes_gpc в PHP версии 5.2.14 или эквивалент для PHP версии 6

Наш сайт использует PHP версии 5.2.14

В последнее время наш хостер, возможно, изменил защиту от магии, и я придумал предлагаемое решение [code ниже]

  1. Является ли это решение ОК для PHP версии 5.2.14?
  2. Что мне следует изменить при обновлении до версии PHP 6?
// Code: function fHandleQuotes($s) { if (get_magic_quotes_gpc()) return ($s); return (addslashes($s)); } . . . // Usage: . . . $query = "UPDATE myTable SET myField = '" . fHandleQuotes($_POST['fieldName']) . "'"; . . . 

В PHP 6 magic_quotes будут удалены!
Теперь вы можете использовать эту функцию.

 if( ( function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc() ) || ini_get('magic_quotes_sybase') ){ foreach($_GET as $k => $v) $_GET[$k] = stripslashes($v); foreach($_POST as $k => $v) $_POST[$k] = stripslashes($v); foreach($_COOKIE as $k => $v) $_COOKIE[$k] = stripslashes($v); } 

Прочтите это и почему вы не должны использовать магические цитаты:
http://php.net/manual/en/security.magicquotes.disabling.php

Используйте один из примеров на этой странице и замените stripslashes . Но да, ваше решение, вероятно, работает. Хотя было бы быстрее и менее навязчиво использовать $_GET = array_map("addslashes", $_GET); один раз при запуске. Еще лучше было бы использовать mysql_real_escape_string вместо mysql_real_escape_string . (Но для этого необходимо установить соединение с базой данных.)

Также я хотел бы сообщить вам следующее: http://sourceforge.net/p/php7framework/wiki/input/ – потому что он позволяет вам постепенно переписывать приложение для использования $_GET->q["fieldName"] для ( не очень безопасные) магические поля с котировками или просто $_POST->sql["fieldName"] для (более защищенных) закодированных полей.
Вы можете даже использовать $_REQUEST->sql->always() чтобы включить фильтр по умолчанию для всех обычных $_REQUEST["fieldName"] обращений. Хотя это может быть излишним для некоторых приложений.