Django:安全且不安全的html标签<a> with template-supplied URLs</a>

时间:2014-11-13 05:17:54

标签: django security django-templates

由于HTML5并不关心属性是否用双引号括起来,为了简单起见,我曾经跳过它们。例如,我使用:

<a href=/someURL/someArgs/>Link to some URL</a>

而不是

<a href="/someURL/someArgs/">Link to some URL</a>

然而,我碰巧阅读了一个由安全黑客编写的文档,他指出如果URL由Django模板提供,则可能存在安全问题。也就是说,

<a href={{ someURL }}>Link to some URL</a>      <!--  Unsafe  -->
<a href="{{ someURL }}">Link to some URL</a>    <!--  Safe  -->

这是真的吗?有哪些安全问题?

1 个答案:

答案 0 :(得分:1)

在我看来,这两种用法都提供了类似的插入恶意代码的方法。这完全取决于你是否总是控制“someURL”中的内容,或者它是基于你的网络用户的输入。