Проблеми с производителността при дезинфекция на всички потребителски данни с помощта на PHP array_map

Пускам тази функция, за да дезинфекцирам всички въведени от потребителите данни от моя сайт, но ме притеснява, че може да изисква много висока производителност...

 // function for cleaning arrays, recursively for arrays held inside arrays
    function array_clean($array)
    {
        // if its an array, walk each element recursively
        if(is_array($array))
        {
            return array_map("escape", $array);
        }

        // until its a single element, then clean the single element
        else
        {
            return escape($array);
        }
    }

    // Recursively walk our global variables
    $_POST= array_map("array_clean", $_POST);
    $_GET= array_map("array_clean", $_GET);
    $_REQUEST= array_map("array_clean", $_REQUEST);
    $GLOBALS= array_map("array_clean", $GLOBALS);
    $_SERVER= array_map("array_clean", $_SERVER);
    $_FILES= array_map("array_clean", $_FILES);
    $_COOKIE= array_map("array_clean", $_COOKIE);
    $_SESSION= array_map("array_clean", $_SESSION);
    $_ENV=array_map("array_clean", $_ENV);

Имам нужда от вашето прозрение.. Благодаря


person Askcat    schedule 11.12.2009    source източник
comment
Освен ако нямате конкретна причина за това, бих избегнал да изпълнявам това на _ENV, _SERVER. Също така бих избегнал GLOBALS, тъй като е огромен -- и така или иначе не трябва да имате достъп до потребителски данни чрез GLOBALS (за това са _POST, _GET, _REQUEST и _COOKIES).   -  person jlb    schedule 11.12.2009


Отговори (1)


Не се притеснявай, профил.

Никога не се доверявайте на инстинкта си или на нечие мнение за това къде са тесните места в производителността, пуснете профайлър и знайте със сигурност.

Ако трябва да намерите профайлър, Xdebug има някои доста добри отзиви.

person Ben S    schedule 11.12.2009
comment
добре, благодаря, но препоръчате ли някой по-конкретно, все още не съм използвал някой успешно - person Askcat; 11.12.2009