如何安全地处理放置在href属性中的用户输入?

时间:2014-02-18 22:08:43

标签: html django xss

我从应该包含URL的不受信任的用户捕获字符串。我如何安全地将它包含在像这样的Django模板中?:

<a href="{url}">...</a>

以下预防措施清单是否足够?

  1. 检查它是以http://还是https://
  2. 开头
  3. 确保href属性包含在双引号中。
  4. 依靠Django模板autoescaping来逃避双引号。

1 个答案:

答案 0 :(得分:0)

我会创建一个模板标签并使用它:

from django.core.validators import URLValidator

看看它的来源比你提到的更多。