由于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 -->
这是真的吗?有哪些安全问题?
答案 0 :(得分:1)
在我看来,这两种用法都提供了类似的插入恶意代码的方法。这完全取决于你是否总是控制“someURL”中的内容,或者它是基于你的网络用户的输入。