这个包包含一个Django模板解析器,它可以用来查找包含不被转义的变量的模板。

django-xss-detection的Python项目详细描述


#Django XSS检测
此包包含一个django模板解析器,可用于查找模板
包含无法转义的变量。此包当前具有
不了解自定义过滤器、自定义标记和python代码(例如
标记为安全)。该代码只针对django版本>;=1.5和<;=1.7进行了测试。


要求
*django>;=1.5和<;1.8
*lxml
用法
通过运行
>;`python-m django_xss_detection.cli`

它是如何工作的?
该代码通过猴子修补django模板代码并通过
到variablenode的回调函数,最终引用
“compileStringWrapper.handle_callback”方法。使用回调函数
稍后当代码“呈现”给定模板并遇到变量节点时
无法逃脱。非引用变量节点检测的实现
缺少javascript上下文中的元素属性和变量节点
javascript转义不是通过回调实现的,请参见
“为模板获取非引用的属性变量”和
parse_template.py中的'get_non_js_escaped_results_for_template'。

此外,代码还修改了内置条件标记的版本,
例如{%if%}和{%ifequal%},以便“呈现”所有可能的模板
代码。如果此包无法处理您的自定义模板标记,则
您可以添加对它们的支持,类似于“华夫饼”模板标记
实现(参见“util.py”中的“templatetags/waffle.py”和“patch”方法)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java应该考虑使用DTO来代替Spring控制器层吗?   java为什么要将Maven与Git结合起来?   java试图将CSV转换为XLSX,但使用了错误的逗号拆分列   mysql Spring 3+Hibernate:java。sql。BatchUpdateException:无法添加或更新子行(ManyToMany)   java基本字符串反转器   java无法使用RestControllerAdvice为身份验证失败生成自定义错误消息   java当只允许SQLException时,如何抛出EOFEException?   java如何创建播放模块?   Android中匿名类的java实例化异常问题   java两个停靠组件,其中第二个组件填充剩余空间   java如何在按钮延迟时启用它   Java中正在运行的应用程序中的后台进程   java我正试图从一个字符串打印出这个字符输出   如何使用java socket通过两个不同的wifi连接两台电脑?   javaapachecamel:如何将分层数据从数据库转换为pojo   java Webrtc:OniconConnectionChange和onConnectionChange之间有什么区别   java如何重写已经创建的JTable方法   爪哇扫雷机堆垛机   雅加达ee Java ee EJB 3.0 Glassfish