Cheery

.:МордератоР:. | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Эх... а что, никто в код не догадался заглянуть, прежде чем давать советы ? ) Код: /*-------------------------------------------------------------------------*/ // Makes incoming info "safe" /*-------------------------------------------------------------------------*/ function parse_incoming() { blah-blah-blah while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) ) $return[$k][ $this->clean_key($k2) ] = $this->clean_value($v2); // это только строка оттуда - все переменные там "очищаются" и для GET и для POST } /*-------------------------------------------------------------------------*/ // Key Cleaner - ensures no funny business with form elements /*-------------------------------------------------------------------------*/ function clean_key($key) { if ($key == "") { return ""; } $key = preg_replace( "/\.\./" , "" , $key ); $key = preg_replace( "/\_\_(.+?)\_\_/" , "" , $key ); $key = preg_replace( "/^([\w\.\-\_]+)$/", "$1", $key ); return $key; } function clean_value($val) { if ($val == "") { return ""; } $val = str_replace( " " , " " , $val ); $val = str_replace( "&" , "&" , $val ); $val = str_replace( "<!--" , "<!--" , $val ); $val = str_replace( "-->" , "-->" , $val ); $val = preg_replace( "/<script/i" , "<script" , $val ); $val = str_replace( ">" , ">" , $val ); $val = str_replace( "<" , "<" , $val ); $val = str_replace( "\"" , """ , $val ); $val = preg_replace( "/\|/" , "|" , $val ); $val = preg_replace( "/\n/" , "<br>" , $val ); // Convert literal newlines $val = preg_replace( "/\\\$/" , "$" , $val ); $val = preg_replace( "/\r/" , "" , $val ); // Remove literal carriage returns $val = str_replace( "!" , "!" , $val ); $val = str_replace( "'" , "'" , $val ); // IMPORTANT: It helps to increase sql query safety. $val = stripslashes($val); // Swop PHP added backslashes $val = preg_replace( "/\\\/" , "\" , $val ); // Swop user inputted backslashes return $val; } | стоит специально, чтобы не вводили ', закрывая скобки при запросе в MySQL и не задавали собственных команд.
| Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 05:36 06-04-2003 | Исправлено: Cheery, 05:37 06-04-2003 |
|