十五 .Django 自身安全机制-XSS
发布时间:2020-12-20 10:59:06 所属栏目:Python 来源:网络整理
导读:一 . django-xss攻击原理与防范 1. 跨站脚本攻击(XSS)概念 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。也属一种注入攻击, 注入本质上就是把输入的数据变成可执行的程序语句比如这些代码包括
一 .django-xss攻击原理与防范1.跨站脚本攻击(XSS)概念XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。也属一种注入攻击, ?2.?xss攻击:----->web注入xss跨站脚本攻击(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”。 我们常常听到“注入”(Injection),如SQL注入,那么到底“注入”是什么?注入本质上就是把输入的数据变成可执行的程序语句。SQL注入是如此, 实施XSS攻击需要具备两个条件:
一、需要向web页面注入恶意代码;
二、这些恶意代码能够被浏览器成功的执行。
解决办法: 1、一种方法是在表单提交或者url参数传递前,对需要的参数进行过滤。 2、在后台对从数据库获取的字符串数据进行过滤,判断关键字。 3、设置安全机制。 django框架:内部机制默认阻止了。它会判定传入的字符串是不安全的,就不会渲染而以字符串的形式显示。如果手贱写了safe,那就危险了, comment.html :评论提交页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form method="POST" action="/comment/"> <h4>评论</h4> <input type="text" name="content"/> <input type="submit" value="提交" />{{ error }} </form> </body> </html> index.html 评论显示页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>评论内容</h1> {% for item in msg %} <div>{{ item|safe }}</div> {% endfor %} </body> </html> views.py 后台处理 from django.shortcuts import render msg = [] def comment(request): if request.method == "GET": return render(request,‘comment.html‘) else: v = request.POST.get(‘content‘) if "script" in v: return render(request,‘comment.html‘,{‘error‘: ‘小比崽子还黑我‘}) else: msg.append(v) return render(request,‘comment.html‘) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容