xss攻击问题以及如何防范
2024-08-26 18:48:43
当用户提交评论的时候,比如如下评论内容
111 <scripy>alert(111);</scripy>
这样当现实评论的时候会先弹出111弹框,再显示评论。这就是xss攻击。
所以,我们需要对评论内容进行检测,对恶意代码进行删除,不让不存到数据库。
如下解决方案:
def add_article(request): if request.method=="POST":
title=request.POST.get('title')
article_content=request.POST.get('article_content') # 获取评论内容
user=request.user
# 使用BeautifulSoup模块
from bs4 import BeautifulSoup
#
bs=BeautifulSoup(article_content,"html.parser")
desc=bs.text[0:150]+"..." # 过滤非法标签,会寻找到这个页面的所有标签
for tag in bs.find_all(): print(tag.name)
# 如果有非法标签
if tag.name in ["script", "link"]:
# 使用decompose()删除非法标签
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("添加成功")
最新文章
- ASP.NET Core的路由[4]:来认识一下实现路由的RouterMiddleware中间件
- 使用 gpg 加密文件 - 通过 shell 或 php
- SQL TOP 子句、SQL LIKE 操作符、SQL 通配符
- linux 项目环境搭建配置
- coursera机器学习-支持向量机SVM
- zoj 3644(dp + 记忆化搜索)
- nginx 反向代理 与 Apache backend的配置联合配置
- eclipse调试总结(转)
- css display visibility
- PE制作实录 —— 补充说明
- raw socket遇上windows
- device tree website
- django下载文件
- WebService第二天
- js--事件对象的理解1
- Oracle优化:千万级大表逻辑判断的累赘
- 我的Android进阶之旅------&;gt; Android在TextView中显示图片方法
- MYSQL Nested Join Optimization
- Windows-NTFS-ADS在渗透测试中的利用
- [UE4]时序问题
热门文章
- mac环境下intellij的自定义配置文件位置
- Android学习笔记(11):线性布局LinearLayout
- 手机 https 抓包---Charles篇
- ARP协议具体解释之Gratuitous ARP(免费ARP)
- stingray中使用angularjs
- Windows批处理 调用程序后 不等待子进程 父进程继续执行命令
- 基于Centos7.5搭建Docker环境
- Database数据库切片模式
- Easyui datagrid 特殊处理,记录笔记
- ORA-214 signalled during: ALTER DATABASE MOUNT 问题