|  |  | @@ -21,56 +21,15 @@ function XSSClean($val) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | return $val; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','', $val); | 
		
	
		
			
			|  |  |  | $search = 'abcdefghijklmnopqrstuvwxyz'; | 
		
	
		
			
			|  |  |  | $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; | 
		
	
		
			
			|  |  |  | $search .= '1234567890!@#$%^&*()'; | 
		
	
		
			
			|  |  |  | $search .= '~`";:?+/={}[]-_|\'\\'; | 
		
	
		
			
			|  |  |  | for ($i = 0; $i < strlen($search); $i++) { | 
		
	
		
			
			|  |  |  | $val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); //with a ; | 
		
	
		
			
			|  |  |  | $val = preg_replace('/(�{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); //with a ; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | $val = str_replace("`", "‘", $val); | 
		
	
		
			
			|  |  |  | $val = str_replace("'", "‘", $val); | 
		
	
		
			
			|  |  |  | $val = str_replace("\"", "“", $val); | 
		
	
		
			
			|  |  |  | $val = str_replace(",", ",", $val); | 
		
	
		
			
			|  |  |  | $val = str_replace("(", "(", $val); | 
		
	
		
			
			|  |  |  | $val = str_replace(")", ")", $val); | 
		
	
		
			
			|  |  |  | $ra1 = array('javascript','vbscript','expression','applet','meta','xml','blink','link','style','script','embed','object','iframe','frame','frameset','ilayer','layer','bgsound','title','base'); | 
		
	
		
			
			|  |  |  | $ra2 = array('onabort','onactivate','onafterprint','onafterupdate','onbeforeactivate','onbeforecopy','onbeforecut','onbeforedeactivate','onbeforeeditfocus','onbeforepaste','onbeforeprint','onbeforeunload','onbeforeupdate','onblur','onbounce','oncellchange','onchange','onclick','oncontrolselect','oncopy','oncut','ondataavailable','ondatasetchanged','ondatasetcomplete','ondblclick','ondeactivate','ondrag','ondragend','ondragenter','ondragleave','ondragover','ondragstart','ondrop','onerror','onerrorupdate','onfilterchange','onfinish','onfocus','onfocusin','onfocusout','onhelp','onkeydown','onkeypress','onkeyup','onlayoutcomplete','onload','onlosecapture','onmousedown','onmouseenter','onmouseleave','onmousemove','onmouseout','onmouseover','onmouseup','onmousewheel','onmove','onmoveend','onmovestart','onpaste','onpropertychange','onreadystatechange','onreset','onresize','onresizeend','onresizestart','onrowenter','onrowexit','onrowsdelete','onrowsinserted','onscroll','onselect','onselectionchange','onselectstart','onstart','onstop','onsubmit','onunload'); | 
		
	
		
			
			|  |  |  | $ra = array_merge($ra1, $ra2); | 
		
	
		
			
			|  |  |  | $found = true; | 
		
	
		
			
			|  |  |  | while ($found == true) { | 
		
	
		
			
			|  |  |  | $val_before = $val; | 
		
	
		
			
			|  |  |  | for ($i = 0; $i < sizeof($ra); $i++) { | 
		
	
		
			
			|  |  |  | $pattern = '/'; | 
		
	
		
			
			|  |  |  | for ($j = 0; $j < strlen($ra[$i]); $j++) { | 
		
	
		
			
			|  |  |  | if ($j > 0) { | 
		
	
		
			
			|  |  |  | $pattern .= '('; | 
		
	
		
			
			|  |  |  | $pattern .= '(&#[xX]0{0,8}([9ab]);)'; | 
		
	
		
			
			|  |  |  | $pattern .= '|'; | 
		
	
		
			
			|  |  |  | $pattern .= '|(�{0,8}([9|10|13]);)'; | 
		
	
		
			
			|  |  |  | $pattern .= ')*'; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | $pattern .= $ra[$i][$j]; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | $pattern .= '/i'; | 
		
	
		
			
			|  |  |  | $replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); | 
		
	
		
			
			|  |  |  | $val = preg_replace($pattern, $replacement, $val); | 
		
	
		
			
			|  |  |  | if ($val_before == $val) { | 
		
	
		
			
			|  |  |  | $found = false; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if ($cfg_soft_lang == 'gb2312') utf82gb($val); | 
		
	
		
			
			|  |  |  | return $val; | 
		
	
		
			
			|  |  |  | return RemoveXss($val); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | $_GET = XSSClean($_GET); | 
		
	
		
			
			|  |  |  | $_POST = XSSClean($_POST); | 
		
	
		
			
			|  |  |  | $_REQUEST = XSSClean($_REQUEST); | 
		
	
		
			
			|  |  |  | $_COOKIE = XSSClean($_COOKIE); | 
		
	
		
			
			|  |  |  | require_once(dirname(__FILE__).'/../system/common.inc.php'); | 
		
	
		
			
			|  |  |  | //require_once(DEDEINC.'/filter.inc.php'); | 
		
	
		
			
			|  |  |  | require_once(DEDEINC.'/filter.inc.php'); | 
		
	
		
			
			|  |  |  | require_once(DEDEINC.'/memberlogin.class.php'); | 
		
	
		
			
			|  |  |  | require_once(DEDEINC.'/dedetemplate.class.php'); | 
		
	
		
			
			|  |  |  | //检查CSRF | 
		
	
	
		
			
				|  |  | 
 |