Ескейпване на входните параметри на php с addslashes

Ето малко код за ескейпване на входните параметри на php скриптовете. Също така се прави проверка за да се избегне досадното двойно ескейпване.

 
if (!get_magic_quotes_gpc())
{
   foreach ($_GET as $k => $v)
  $_GET[$k]=addslashes($v);
   foreach ($_POST as $k => $v)
  $_POST[$k]=addslashes($v);
   foreach ($_REQUEST as $k => $v)
  $_REQUEST[$k]=addslashes($v);
   foreach ($_GET as $k => $v)
  $_GET[$k]=addslashes($v);
}

Също така е добре да се изключва register_globals опцията чрез .htaccess със следното съдържание: php_value "register_globals" "0" Ако очаквате масиви като параметри (например <select multiple ...>) използвайте:

 
function array_add_slashes($arr)
{
    if (!is_array($arr))
        return addslashes($arr);
    else
    {
        foreach ($arr as $k=>$v)
            $arr[$k]=array_add_slashes($v);
        return $arr;
    }
}
 
if (!get_magic_quotes_gpc())
{
   foreach ($_GET as $k => $v)
  $_GET[$k]=array_add_slashes($v);
   foreach ($_POST as $k => $v)
  $_POST[$k]=array_add_slashes($v);
   foreach ($_REQUEST as $k => $v)
  $_REQUEST[$k]=array_add_slashes($v);
   foreach ($_GET as $k => $v)
  $_GET[$k]=array_add_slashes($v);
}

Няма коментари

Обратно към списъка със статиите

Тази страница последно е променяна на 2024-04-29 02:51:29