且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Django XSS攻击

更新时间:2022-09-04 23:23:38

一、什么是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)



本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/2069048,如需转载请自行联系原作者