富文本编辑器的xss攻击过滤怎么实现前端
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了富文本编辑器的xss攻击过滤怎么实现前端相关的知识,希望对你有一定的参考价值。
参考技术A 要测试 、富文本编辑器自编辑看看显示行麽django小例
今日内容:
1、子评论评论楼的实现;评论树尚未实现;
2、富文本编辑器的使用。
XSS攻击全称跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
JsonRespones不能序列化对象。
在js中赋值一个全局变量,一定不要加var,否则它就变为一个局部变量。
$(".reply").click(function () {
var username = $(this).attr("comment_user");
var val = "@" + username + "
";
$("#comment_content").focus().val(val);
parent_id = $(this).attr("comment_id");
});
文章描述只显示文本,使用bs4模块。
from bs4 import BeautifulSoup
# 切片文章文本
desc = soup.text[:200]
用户上传文章存储的安全问题,bs4模块,过滤特殊标签和字符。
# 文章过滤
for item in soup.find_all():
if item.name in ["script",]:
item.decompose()
# 切片文章文本
desc = soup.text[:200]
article_obj = models.Article.objects.create(title=title,desc=desc,content=str(soup),category=category,user=user)
for tag in tags:
models.Article2Tag.objects.create(article=article_obj,tag=tag)
return redirect(reverse("backend"))
content=str(soup)
文章与标签多对多的关系,我们没有采用django自动生成的那张表,因此,多对多的关系需要我们自己在Article2Tag表中自己添加,不能再使用article_obj.tags.add()。
编辑的时候,可以先删除当前文章与标签的关系,再create。
特别注意:
def __str__(self):
return self.title
在models里设置了__str__方法,在模板里取{{ 对象 }},只能取到title,而不是一个对象。
以上是关于富文本编辑器的xss攻击过滤怎么实现前端的主要内容,如果未能解决你的问题,请参考以下文章