Django:安全和不安全的html标记<;a>;使用模板提供的URL
由于HTML5不关心属性是否用双引号括起来,为了简单起见,我过去常常跳过它们。例如,我使用: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
<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用户的输入