CodeQL 文档

“requireSSL” 属性未设置为 true

ID: cs/web/requiressl-not-set
Kind: problem
Security severity: 7.5
Severity: error
Precision: high
Tags:
   - security
   - external/cwe/cwe-319
   - external/cwe/cwe-614
Query suites:
   - csharp-code-scanning.qls
   - csharp-security-extended.qls
   - csharp-security-and-quality.qls

点击查看 CodeQL 存储库中的查询

使用 HTTP 传输的敏感数据容易被第三方读取。默认情况下,Web 表单和 Cookie 通过 HTTP 发送,而不是 HTTPS。可以通过在 Web.config 中将 requireSSL 属性设置为 “true” 来更改此设置。

建议

使用 Web 表单时,请确保 Web.config 包含一个带有属性 requireSSL="true"<forms> 元素。

使用 Cookie 时,请确保使用 SSL,可以通过上面的 <forms> 属性或带有属性 requireSSL="true"<httpCookies> 元素来实现。还可以通过以编程方式将属性 System.Web.HttpCookie.Secure 设置为 true 来要求 Cookie 使用 SSL。

示例

以下示例显示了在 Web.config 文件中指定 requireSSL="true" 的位置。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <authentication>
      <forms
        requireSSL="true"
        ... />
    </authentication>
    <httpCookies
        requireSSL="true"
        ... />
  </system.web>
</configuration>

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私