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.userbs = 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")轉載于:https://www.cnblogs.com/banshaohuan/p/9803250.html
總結
- 上一篇: linux -- control ser
- 下一篇: Dcloud+mui 压缩上传图片到服务