• XSS攻击的防御


    XSS攻击的防御

    XSS 攻击是什么

    XSS 又称 CSS,全称 Cross SiteScript,跨站脚本攻击,是 Web 程序中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有 XSS 漏洞的网站中输入(传入)恶意的 HTML 代码,当其它用户浏览该网站时,这段 HTML 代码会自动执行,从而达到攻击的目的。如,盗取用户 Cookie 、破坏页面结构、重定向到其它网站等。

    Python 中的防御方法

    利用 BeautifulSoup 模块过滤掉存在危险的 HTML 标签。

    先利用 BS 模块获得 BS 对象,在 BS 对象中查找非法标签并通过 decompose 函数过滤掉,最后存到数据库的是 BS 对象的字符串化。

    from bs4 import BeautifulSoup
    def add_article(request):
        if request.method == "POST":
            title = request.POST.get("title")
            content = request.POST.get("article_content")
            user = request.user
            bs = BeautifulSoup(content, "html.parser")
            desc = bs.text[0:150] + '...'
            # 过滤非法标签
            for tag in bs.find_all():
                if tag.name in ["script","link"]:
                    tag.decompose()
            article_obj = models.Article.objects.create(user=user, title=title, desc=desc)
            models.ArticleDetail.objects.create(content=str(bs), article=article_obj)
    
            return HttpResponse("添加成功!")
        return render(request, "add_article.html")
    

  • 相关阅读:
    团队冲刺第二十三天
    团队冲刺第二十二天
    团队冲刺第二十一天
    团队冲刺第二十天
    第十四周周总结
    团队冲刺第十九天
    团队冲刺第十八天
    团队冲刺第十七天
    团队冲刺第十六天
    keeprunning的使用说明
  • 原文地址:https://www.cnblogs.com/banshaohuan/p/9803250.html
Copyright © 2020-2023  润新知