Django:安全和不安全的html标记<;a>;使用模板提供的URL

Django:安全和不安全的html标记<;a>;使用模板提供的URL,django,security,django-templates,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={{ so

由于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  -->


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

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