Пребываю в состоянии задумчивости над простым вопросом: насколько безопасно работать с пользовательскими данными, проходящими родную проверку CI XSS (в конфиге настройка $config['global_xss_filtering'] = TRUE; ), и что конкретно она делает.
В частности, можно ли загонять эти данные в БД без предварительной обработки/эскейпа, или его тоже стоит прибавлять к функциям валидации?
Так повелось, что в самописном микро-каркасе использовал такую конструкцию:
- Код: Выделить всё
function safe($str){
return mysql_real_escape_string(strip_tags(trim($str))); /*делаем эскейп, остальное не существенно*/
}
function safe_get(){
foreach ($_REQUEST as $key=>$val) {
$safe[$key]=safe($val);
}
return $safe;
}
some_controller_function(){
extract(safe_get()); /*или $query=safe_get(); , если страшно.*/
/*спокойно работаем с полученным ворохом переменных*/
}
