【问题标题】:Moving from one https page to another with a different certificate从一个 https 页面移动到另一个具有不同证书的页面
【发布时间】:2010-11-05 15:47:14
【问题描述】:

想象一个沼泽标准的注册页面,它捕获一些用户信息,如姓名、地址等。 它上面有一个“立即购买”按钮,用于转移到支付网站 (WorldPay)。

现在,要求是一切都应该是安全的,这意味着(如果我错了,请纠正我)

A) 我需要在 IIS 上获取并安装 SSL 证书。

B) 然后我需要确保注册页面的安全(看看具体如何做到这一点,但如果有人想让我知道,那就太好了!)

所以,假设注册页面现在是一个证书下的 https,是否有任何理由表明重定向到 WorldPay(在 SSL 下但在不同证书下)存在问题?

我无法想象为什么,我不会通过 AJAX 或其他任何方式执行此操作(请参阅 HTTPS request via AJAX from HTTP page),但有时这些事情会咬你!

谢谢 邓肯

【问题讨论】:

    标签: iis ssl https worldpay


    【解决方案1】:

    我可以预见的唯一问题是,如果您有从https://mysite.com/https://payment.net/ 的直接形式 POST,您的用户很可能会看到一个警告页面(FF3.5 在类似情况下显示“不受信任的连接” - 它可以阻止网络钓鱼攻击)。一种可能的解决方案是将 mysite.com 表单提交到 mysite.com 域,然后有一个控制器或类似的东西将用户重定向到 payment.net。 (但是,您需要注意的是,您不会通过在 URL 上公开用户的私人信息来玩弄它。)

    我的猜测是,您的支付网站需要经常处理这个问题。我建议与他们联系,了解他们是否有关于处理 SSL、警告等的具体建议。

    【讨论】:

    • 嗯,我不得不说这让我有点意外。我原以为 www.mysite.com 在一个证书下是完全安全的,如果我选择访问不同域和证书下的 www.payment.net,主要应该是它是安全的......所以没想到会有问题。将通过 WorldPay 清除它,但感谢您的提醒!
    【解决方案2】:

    使用相同的协议 (https) 从一个域重定向到下一个域应该没有问题。但是,有时病毒软件可以将这种重定向检测为“网络钓鱼”,但如果 WorldPay 是可信赖的来源,您应该没问题。您是在尝试将用户数据传递给 WorldPay,还是仅使用 WorldPay 作为您的支付引擎?切换域时,我不会开始通过 POST/GET 变量传递任何用户信息。

    您的注册页面的答案是您需要强制使用 https(最好是从后面的代码),以便用户可以使用 SSL 加密输入他们的帐户信息并看到那个可靠的锁图标;)。

    编辑:代码示例

     if (HttpContext.Current.Request.Url.AbsoluteUri.ToLower().StartsWith("http://"))
    {
       Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri.Replace("http://", "https://"));
    }
    

    要获取您的证书:在您的 IIS 中,转到网站记录的属性,单击安全选项卡,然后单击服务器证书。完成分步过程,直到准备好将证书请求发送给证书签名机构(GeoTrust、Verisign 等)。从他们那里取回证书后,您的证书请求就可以完成并且您的 https 将正常工作。

    此外,请检查您的 SSL 软件是否为最新版本。这应该涵盖要求。不过,我也会联系 WorldPay,以确保您遵守标准。

    【讨论】:

    • 我想将数据发布到我已经在我的 https 表单中捕获的 WorldPay 域(例如地址)
    • 如果我只想拥有一个 https 页面,我是否可以通过 IIS 通过右键单击该页面、转到文件安全性然后选择安全通信来执行此操作,还是我有点偏离?另外,在以编程方式确保位上,我想我会使用这个 - codeproject.com/KB/web-security/WebPageSecurity_v2.aspx
    • 您仍然需要设置证书才能使用您的主域,所以我只设置网站级别的证书而不是单个页面。在您的页面代码中,根据您使用的服务器端语言,只需检查页面的当前协议,如果不是 https,请将其更改为 https。或者,创建一个 https 类,您可以根据需要将其扩展到您的页面。你在使用 asp.net 吗?
    • 我正在使用 ASP.NET 是的。一个“给我发送 codez”的例子会很棒,如果只是因为这是我不容易用谷歌搜索的东西,我相信它会很简单!我一定是输入了错误的搜索词...
    • 查看最近的编辑,但您的其他解决方案也可以。
    猜你喜欢
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2022-10-24
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    相关资源
    最近更新 更多