使用不同的证书从一个https页面移动到另一个页面

时间:2009-06-24 20:16:48

标签: iis ssl https worldpay

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

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

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

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

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

我无法想象为什么,我不会通过AJAX或其他任何东西(参见HTTPS request via AJAX from HTTP page)这样做,但有时候这些东西会咬你!

由于 邓肯

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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,以确保您遵守标准。