【问题标题】:How to implement HTTPS only on part of website?如何仅在部分网站上实施 HTTPS?
【发布时间】:2013-02-02 06:49:07
【问题描述】:

我想知道,如何在网站的某一部分实现 HTTPS? 比方说,我想创建网上商店。我希望能够在没有 HTTPS 的情况下浏览所有项目(它更快吧?)。当我想付款时,我想使用 HTTPS。 正如我在其他文章中所读到的,当 IIS 配置为使用 HTTPS 时,该配置适用于整个站点:(

附:另一个问题。如果我希望商店只对已有帐户的用户开放(这意味着用户必须登录才能进入商店)怎么办?然后用户将商品添加到购物篮,然后转到付款页面(使用 HTTPS)。他们是否必须有另一个专门用于结帐的帐户并在 HTTPS 页面中登录?

【问题讨论】:

    标签: asp.net security ssl https


    【解决方案1】:

    对整个网站使用 HTTPS 没有任何问题 - 事实上,我们鼓励这样做。早在 1990 年代,当计算机硬件还没有今天那么强大时,对所有请求使用 HTTPS 会带来性能下降,但现在不使用全站点 HTTPS 的唯一原因是你买不起 20 美元的证书费用:)

    不管怎样,你读过的文章只对了一半。 HTTPS 支持 只能在每个网站的基础上启用,但是您不需要对整个网站强制使用 HTTPS:这由 IIS 中的“需要 SSL/TLS”复选框控制。如果您未选中该复选框,那么用户仍然可以使用非安全 HTTP 浏览该站点。当涉及到结帐页面时,您可以在您的 ASP.NET 代码中实现“需要 SSL/TLS”功能(检查 Request.IsSecureConnection 属性),例如通过重定向到您网站的安全版本。

    【讨论】:

    • 我明白了。谢谢您的回答。第二个账户呢?用户是否需要拥有“安全”帐户?因为他在 HTTP 中使用的用户名和密码不安全,如果我理解正确,可能会被黑客入侵?
    • 只要让您的整个网站都使用 HTTPS - 这样所有内容都会安全发送,包括用户名/密码和信用卡信息。
    • 非常感谢你们。你的回答真的很有帮助!
    【解决方案2】:

    有一个不错的模块可以帮你切换automatically from http to https in asp.net

    我建议所有与敏感数据无关的页面都使用http,只有在有敏感数据的页面上使用https。

    主要原因是,如果一切都从 https 传递,包括图像,则传输的数据会更多,并且加密和解密它们的时间会增加显示页面的总时间 - 所以你可以避免额外的延迟和计算。毕竟,所有主要网站都这样做(amazon、ebay、zazzle、cafepress、Endless、Crate 和 Brrel 等)。他们知道的更多——你不觉得吗?

    相关回答:Preparing my ASP.NET / MVC site to use SSL?

    【讨论】:

      【解决方案3】:

      有人告诉我,是否要实施 HTTPS 取决于您希望网站的安全性。那里有 SSLs 证书,可以以便宜的价格购买,但安全性可能会受到限制。高安全性,当然它确实很昂贵,但安全性很高。我相信如果您想让您的网站尽可能安全,请考虑您可以负担得起的合理价格以确保您的网站安全。 希望此链接对您有所帮助。

      10 cheapest SSL certificate

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-24
        • 1970-01-01
        • 1970-01-01
        • 2012-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-18
        相关资源
        最近更新 更多