SQL 注入
① 转义字符处理不当 如 单引号 '没处理
www.demo.com?query=1'② 数据类型处理不当 整型数据需要强转 避免夹杂其他参数
③ 查询语句组织不当
user.php?table=user&④ 错误处理不当 将站点错误信息暴露给用户
$res = mysql_query($getid) or die('<pre>'.mysql_error().'</pre>');数据入库时将转换单引号、双引号、反斜杠为实体
先将字符串用htmlspecialchars()转换为实体后存储到数据库,然后从数据库读出来时htmlspecialchars_decode()转为HTML标签
XSS攻击
被动式且用于客户端的攻击方式 ,攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie信息、破坏页面结构、重定向到其它网站等
只要存在能提供输入的表单并且没做安全过滤或过滤不彻底,都有可能存在XSS漏洞
 ① 插入JS脚本
② 插入网页代码
<meta http-equiv="refresh" content="0;"><iframe src=http://xxxx width=250 height=250></iframe>function clean_xss( & $string, $low = False) {
    if (!is_array($string)) {
        $string = trim($string);
        $string = strip_tags($string);
        $string = htmlspecialchars($string);
        if ($low) {
            return True;
        }
        $string = str_replace(array('"', "\\", "'", "/", "..", "../", "./", "//"), '', $string);
        $no = '/%0[0-8bcef]/';
        $string = preg_replace($no, '', $string);
        $no = '/%1[0-9a-f]/';
        $string = preg_replace($no, '', $string);
        $no = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S';
        $string = preg_replace($no, '', $string);
        return True;
    }
    $keys = array_keys($string);
    foreach($keys as $key) {
        clean_xss($string[$key]);
    }
} 
 
			 
																	   
								 
																	   
								 
  