一、什么是xss攻击

xss攻击:----->web注入

  xss跨站脚本攻击(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”。

  我们常常听到“注入”(Injection),如SQL注入,那么到底“注入”是什么?注入本质上就是把输入的数据变成可执行的程序语句。SQL注入是如此,XSS也如此,只不过XSS一般注入的是恶意的脚本代码,这些脚本代码可以用来获取合法用户的数据,如Cookie信息。

PS: 把用户输入的数据以安全的形式显示,那只能是在页面上显示字符串。

django框架中给数据标记安全方式显示(但这种操作是不安全的!):

  •  - 模版页面上对拿到的数据后写上safe. ----> {{XXXX|safe}}
  •  - 在后台导入模块:from django.utils.safestring import mark_safe

二、如何避免xss攻击

PS:利用HTML特殊符号

使用Django模板语言(DTL)编写HTML,Django会自动进行HTML转义,如:

  • < 会转换为&lt;
  • > 会转换为&gt;
  • '(单引号)转换为'
  • " (双引号)会转换为 &quot;
  • & 会转换为 &amp;
<a href="">a标签</a>
---
&lt;a href="">a标签</a>

后端mark_safe相当于是否替换‘<’这类的符号

最新文章

  1. FFmpeg 转码和截屏
  2. vmware
  3. C#:调用webservice时提示对操作的回复消息正文进行反序列化时出错
  4. Chrome 自动填充的表单是淡黄色的背景
  5. 路由器 NorFlash与NandFlash区别
  6. presto访问 Azure blob storage
  7. Thread的第二天学习
  8. 第二百七十二、三天 how can I 坚持
  9. mac上java开发环境
  10. poj3642 Charm Bracelet(0-1背包)
  11. android命令行网络时间同步
  12. ansible学习之路
  13. Oracle单行函数基础运用
  14. 用C语言实现Ping程序功能
  15. 零基础怎么学java
  16. Azure CosmosDB (6) 冲突类型和解决策略
  17. loadrunner&#160;脚本录制-Protocol&#160;Advisor协议分析器的使用
  18. C# 控制左右声道
  19. 《Java程序设计》第二周学习记录(1)
  20. Django-website 程序案例系列-15 singnal分析

热门文章

  1. 货币转换I
  2. mujoco d4rl 安装问题
  3. 在vue中引入elementui
  4. 微信小程序仿手机相册组件——简单版
  5. 乾象投资:基于JuiceFS 构建云上量化投研平台
  6. 三十一、kubernetes网络介绍
  7. Selenium4+Python3系列(六) - Selenium的三种等待,强制等待、隐式等待、显式等待
  8. Mybatis 报错Mapper method &#39;xxx&#39; has an unsupported return type
  9. Excel常用需求
  10. 使用vite + vue3 + ant-design-vue + vue-router + vuex 创建一个后台管理应用