跨域、sql注入、xss攻击

这几天遇到这三个问题,现在简单的记录下来。

1、跨域

    如我服务器的域名是www.test1.com,我在另一个服务器www.test2.com通过ajax访问www.test1.com的数据时,就引起跨域的问题,提示错误 No 'Access-Control-Allow-Origin' header is present on the...

    网上有很多文章,可以搜索下。http://blog.csdn.net/liruxing1715/article/details/18707605   http://twlidong.github.io/blog/2013/12/22/kua-yuan-zi-yuan-gong-xiang-cross-origin-resource-sharing-cors/

    jquery已经考虑到了这个问题,在ajax中封装了应对跨域的方法。参考上面黏出的第一个链接,我解决了问题。

2、xxs攻击  xss表示Cross Site Scripting(跨站脚本攻击),通过插入恶意脚本,实现对用户游览器的控制

   假如用户提交的数据含有js代码,不做任何处理就保存到了数据库,读出来的时候这段js代码就变成了可执行的代码,将会产生意向不到的效果。一般用户提交的数据永远被认为是不安全的,在保存之前要做对应的处理。这次我就遇到了这个问题,

   我提交的内容<script>alert(1111)</script>,或者<a href="www.baidu.com">百度</a>,读出来的时候,将直接弹出1111,或者百度是有效的超链接,这个显然是不行的。

   提交的数据用下面的这个方法过滤一下,可以有效的防范xxs的攻击:

   

/*
  过滤用户代码
 */
function security($str){
	$str = trim($str);  //清理空格
    $str = strip_tags($str);   //过滤html标签
    $str = htmlspecialchars($str);   //将字符内容转化为html实体
    $str = addslashes($str);
    return $str;
}

  

3、sql注入攻击    SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的

    我用的PDO连接,但是如果不用参数绑定的话,是依然可以sql注入的。应该多注意使用绑定参数!

    

posted @ 2014-12-12 13:54  lizcao  阅读(5945)  评论(1编辑  收藏  举报