1.7 响应输出

1.7.1【必须】设置正确的HTTP响应包类型

响应包的HTTP头“Content-Type”必须正确配置响应包的类型,禁止非HTML类型的响应包设置为“text/html”。

1.7.2【必须】设置安全的HTTP响应头

  • X-Content-Type-Options

    添加“X-Content-Type-Options”响应头并将其值设置为“nosniff ”

  • HttpOnly 控制用户登鉴权的Cookie字段 应当设置HttpOnly属性以防止被XSS漏洞/JavaScript操纵泄漏。

  • X-Frame-Options

    设置X-Frame-Options响应头,并根据需求合理设置其允许范围。该头用于指示浏览器禁止当前页面在frame、 iframe、embed等标签中展现。从而避免点击劫持问题。它有三个可选的值: DENY: 浏览器会拒绝当前页面加 载任何frame页面; SAMEORIGIN:则frame页面的地址只能为同源域名下的页面 ALLOW-FROM origin:可以定 义允许frame加载的页面地址。

1.7.3【必须】对外输出页面包含第三方数据时须进行编码处理

  • 当响应“Content-Type”为“text/html”类型时,需要对响应体进行编码处理
  1. # 推荐使用mozilla维护的bleach库来进行过滤
  2. import bleach
  3. bleach.clean('an <script>evil()</script> example')
  4. # u'an &lt;script&gt;evil()&lt;/script&gt; example'