rosimk
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Приветик. Спасибо за подсказку, вернул обратно файлы с 1.7.4 и с почтой разобрался, поменял код и всё путем. А вот с загрузкой фото с кириллическими именами пока лажа. Файл global.php у меня не в директории /includes/ а корневой, галереи. Но я всё равно попробовал, но увы. И мне не очень понятно нужно весь код =================== function clean_array($array) { $search = array( // Remove any attribute starting with "on" or xmlns '#(<[^>]+[\x00-\x20\"\'])(on|xmlns)[^>]*>#iUu', // Remove javascript: and vbscript: protocol '#([a-z]*)[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)[\\x00-\x20]*j[\x00-\x20]*a[\x00-\x20]*v[\x00-\x20]*a[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iUu', '#([a-z]*)[\x00-\x20]*=([\'\"]*)[\x00-\x20]*v[\x00-\x20]*b[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iUu', //<span style="width: expression(alert('Ping!'));"></span> // Only works in ie... '#(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*).*expression[\x00-\x20]*\([^>]*>#iU', '#(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*).*behaviour[\x00-\x20]*\([^>]*>#iU', '#(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*).*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:*[^>]*>#iUu' ); $replace = array( "$1>", '$1=$2nojavascript...', '$1=$2novbscript...', "$1>", "$1>", "$1>" ); // Remove all control (i.e. with ASCII value lower than 0x20 (space), // except of 0x0A (line feed) and 0x09 (tabulator) /*$search2 = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"; $replace2 = //str_repeat("\r", strlen($search2)); "\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D"; */ foreach ($array as $key => $val) { if (is_array($val)) { $val = clean_array($val); } else { $val = preg_replace($search, $replace, $val); $val = str_replace("\r\n", "\n", $val); $val = str_replace("\r", "\n", $val); $val = strtr($val, $search2, $replace2); $val = str_replace("\r", '', $val); // \r === \x0D do { $oldval = $val; $val = preg_replace('#</*(applet|meta|xml|blink|link|style|script|embed|object|iframe|frame|frameset|ilayer|layer|bgsound|title|base)[^>]*>#i', "", $val); } while ($oldval != $val); } $array[$key] = $val; } return $array; } if (!defined('IN_CP')) { $HTTP_GET_VARS =clean_array($HTTP_GET_VARS); $HTTP_POST_VARS =clean_array($HTTP_POST_VARS); $HTTP_COOKIE_VARS =clean_array($HTTP_COOKIE_VARS); $HTTP_POST_FILES = clean_array($HTTP_POST_FILES); =================== Заменить на =============== $search = array( // Remove any attribute starting with "on" or xmlns '#(<[^>]+[\x00-\x20\"\'])(on|xmlns)[^>]*>#iUu', // Remove javascript: and vbscript: protocol '#([a-z]*)[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)[\\x00-\x20]*j[\x00-\x20]*a[\x00-\x20]*v[\x00-\x20]*a[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iUu', '#([a-z]*)[\x00-\x20]*=([\'\"]*)[\x00-\x20]*v[\x00-\x20]*b[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iUu', //<span style="width: expression(alert('Ping!'));"></span> // Only works in ie... '#(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*).*expression[\x00-\x20]*\([^>]*>#iU', '#(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*).*behaviour[\x00-\x20]*\([^>]*>#iU' //'#(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*).*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:*[^>]*>#iUu' ); | Всего записей: 9 | Зарегистр. 08-07-2008 | Отправлено: 17:13 18-08-2008 | Исправлено: rosimk, 17:14 18-08-2008 |
|