Django XSS攻击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django XSS攻击相关的知识,希望对你有一定的参考价值。

一、什么是XSS攻击

XSS即跨站脚本攻击,XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。 xss攻击允许用户注入客户端脚本到其他用户的服务器上。通常通过存储恶意脚本到数据库,其他用户通过数据库获取恶意脚本,并在浏览器上呈现;或是使用户点击会引起攻击者javascirpt脚本在用户客户端的连接来达到目的。但是xss攻击可能发生在任意不可信的数据源头,例如cookie和web service。无论何时,只要数据在页面内没有充分地消毒(sanitized),就可能发生xss攻击。

二、防止XSS攻击的两种方式

1、对单一变量进行转义过滤。可以使用escape过滤器,无需转义时使用safe过滤器

 PS: 把用户输入的数据以安全的形式显示,那只能是在页面上显示字符串。
    django框架中给数据标记安全方式显示(但这种操作是不安全的!):
      - 模版页面上对拿到的数据后写上safe. ----> {{XXXX|safe}}
      - 在后台导入模块:from django.utils.safestring import mark_safe
        把要传给页面的字符串做安全处理 ----> s = mark_safe(s)

好的文章:https://www.cnblogs.com/zh605929205/articles/7103796.html

以上是关于Django XSS攻击的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 中防止 XSS 攻击

django-xss攻击原理与防范

Django过滤xss攻击

Django—XSS及CSRF

django csrf,xss,sql注入

Django信息安全相关之CSRF和XSS