0

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

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

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

B)然后我需要确保注册页面的安全(看看如何做到这一点,但如果有人想让我知道那将是伟大的!)

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

我无法想象为什么,我不会通过 AJAX 或任何东西来执行此操作(请参阅来自 HTTP 页面的通过 AJAX 的 HTTPS 请求),但有时这些东西会咬你!

谢谢邓肯

4

2 回答 2

1

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

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

于 2009-06-24T20:44:52.097 回答
1

使用相同的协议 (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,以确保您遵守标准。

于 2009-06-24T20:51:39.477 回答