是否有必要从具有 https 或 http 足够安全的网页提供 paypal 托管按钮?
Is it necessary to serve a paypal hosted button from a web page that has https or is http secure enough?
我在我的网站上执行了 'web vulnerabilty scan'。 (来自这家公司 http://www.acunetix.com/)并且存在一些中等级别的威胁。所以我想问的是这个。
........................
警报:
从 HTTP 到 HTTPS 的不安全转换 post。
描述:
此表单是从不安全的页面 (http) 页面提供的。此页面可能会被中间人攻击劫持
并且攻击者可以替换表单目标。
影响:
可能的信息泄露。
.......................................
我知道在用户输入敏感信息(例如信用卡详细信息)的任何页面上确实应该使用 SSL。然而,在这种威胁所指的形式中,我使用的是直接转到贝宝的贝宝托管按钮。表单中没有传递任何敏感数据,只有价格和商品名称。在这种情况下这是威胁吗?是否有必要在带有托管按钮的页面上使用 https?这是来自托管按钮的表单。非常感谢任何建议,莎拉
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="YK6RA88XCE69G">
<table>
<tr><td>
<input type="hidden" name="on0" value="Ableton Course Fees"></td></tr>
<tr><td>
<select name="os0">
<option value="Full Payment">Full Payment €275.00 EUR</option>
<option value="Deposit Payment">Deposit Payment €100.00 EUR</option>
</select>
</td></tr>
</table>
<input type='hidden' name='cancel_return' value='http://www.funkdafone.com/finalne4/cancelled.php'>
<input type='hidden' name='return' value='http://www.funkdafone.com/finalne4/confirmation.php'>
<input type="hidden" name="currency_code" value="EUR">
<input type="image" src="https://www.sandbox.paypal.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
基本上,当您使用 PayPal 托管按钮时,您不需要真正担心 Https 或 http。最终,加密信息被传递给 https://www.paypal.com
.
因此,由于结帐页面由 PayPal 托管,您已经很安全,而且 PCI 合规性也得到了注意。
如果您使用自己的结账页面(例如,Dodirectpayment
您在其中收集买家信用卡信息),则您需要符合 PCI 标准并且 SSL(https) 是推荐用于额外的安全性。
是的,理想情况下,您应该确保您的整个网站在重定向到 PayPal 之前使用 HTTPS。但是,这可能会带来额外的性能挑战,因为站点范围的 SSL(即 HTTPS)会略微增加 CPU 负载:According to Google, +1% CPU and +2% network bandwidth。
为什么要到处使用 HTTPS?
假设您的网站是通过纯 HTTP 加载的,用户到达结帐处:
http://example.com/checkout.php
这包含将用户重定向到 PayPal 的上述代码:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
现在如果用户网络上有攻击者(假设用户和攻击者都在一家咖啡店使用那里的 wifi),攻击者可以使用 sslstrip to MITM 等工具连接来自用户访问您的网站。这将在呈现给用户时动态地将页面的表单更改为纯 HTTP:
<form action="http://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
现在,当用户点击转至 PayPal 时,连接再次被 MITM 攻击,允许攻击者拦截密码、信用卡和地址详细信息。所以而不是连接是:
User --> Coffee Shop Router --> PayPal
会是
User --> MITM Attacker --> Coffee Shop Router --> PayPal
当然,用户可能注意到他们与 PayPal 的连接不是 HTTPS(他们的浏览器将在没有挂锁的情况下在地址栏中显示 http://www.sandbox.paypal.com
),但是他们可能不会-有后果。这就是为什么您不应该通过纯 HTTP 将页面重定向到支付站点的原因 - 以保护您的用户。在您的站点上使用 SSL,用户将能够在结帐阶段信任您的站点(因为它将通过 HTTPS 提供服务并且挂锁将在地址栏中)并且能够安全地遵循 PayPal 的结帐过程。
你的情况
话虽如此,由于您没有在表单请求中将任何机密信息从您的站点发送到 PayPal,因此用户很有可能会在输入任何详细信息之前注意到他们不在 PayPal 的安全版本上。如果您的表单包含的信息如果攻击者可以通过他们的 sslstrip 攻击立即拦截,那么您的网站将面临更大的风险。
总之,您似乎可以接受这里的风险,因为风险很低。如果在您的能力范围内,我会推荐全站 HTTPS。无论哪种方式,始终鼓励您的用户在输入他们的 PayPal 登录名或他们的卡详细信息之前检查地址栏和挂锁。在这种情况下,回头客在从不同位置访问您的网站时更有可能发现他们的连接是否被 MITM。
我在我的网站上执行了 'web vulnerabilty scan'。 (来自这家公司 http://www.acunetix.com/)并且存在一些中等级别的威胁。所以我想问的是这个。
........................
警报:
从 HTTP 到 HTTPS 的不安全转换 post。
描述:
此表单是从不安全的页面 (http) 页面提供的。此页面可能会被中间人攻击劫持 并且攻击者可以替换表单目标。
影响:
可能的信息泄露。
.......................................
我知道在用户输入敏感信息(例如信用卡详细信息)的任何页面上确实应该使用 SSL。然而,在这种威胁所指的形式中,我使用的是直接转到贝宝的贝宝托管按钮。表单中没有传递任何敏感数据,只有价格和商品名称。在这种情况下这是威胁吗?是否有必要在带有托管按钮的页面上使用 https?这是来自托管按钮的表单。非常感谢任何建议,莎拉
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="YK6RA88XCE69G">
<table>
<tr><td>
<input type="hidden" name="on0" value="Ableton Course Fees"></td></tr>
<tr><td>
<select name="os0">
<option value="Full Payment">Full Payment €275.00 EUR</option>
<option value="Deposit Payment">Deposit Payment €100.00 EUR</option>
</select>
</td></tr>
</table>
<input type='hidden' name='cancel_return' value='http://www.funkdafone.com/finalne4/cancelled.php'>
<input type='hidden' name='return' value='http://www.funkdafone.com/finalne4/confirmation.php'>
<input type="hidden" name="currency_code" value="EUR">
<input type="image" src="https://www.sandbox.paypal.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
基本上,当您使用 PayPal 托管按钮时,您不需要真正担心 Https 或 http。最终,加密信息被传递给 https://www.paypal.com
.
因此,由于结帐页面由 PayPal 托管,您已经很安全,而且 PCI 合规性也得到了注意。
如果您使用自己的结账页面(例如,
Dodirectpayment
您在其中收集买家信用卡信息),则您需要符合 PCI 标准并且 SSL(https) 是推荐用于额外的安全性。
是的,理想情况下,您应该确保您的整个网站在重定向到 PayPal 之前使用 HTTPS。但是,这可能会带来额外的性能挑战,因为站点范围的 SSL(即 HTTPS)会略微增加 CPU 负载:According to Google, +1% CPU and +2% network bandwidth。
为什么要到处使用 HTTPS?
假设您的网站是通过纯 HTTP 加载的,用户到达结帐处:
http://example.com/checkout.php
这包含将用户重定向到 PayPal 的上述代码:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
现在如果用户网络上有攻击者(假设用户和攻击者都在一家咖啡店使用那里的 wifi),攻击者可以使用 sslstrip to MITM 等工具连接来自用户访问您的网站。这将在呈现给用户时动态地将页面的表单更改为纯 HTTP:
<form action="http://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
现在,当用户点击转至 PayPal 时,连接再次被 MITM 攻击,允许攻击者拦截密码、信用卡和地址详细信息。所以而不是连接是:
User --> Coffee Shop Router --> PayPal
会是
User --> MITM Attacker --> Coffee Shop Router --> PayPal
当然,用户可能注意到他们与 PayPal 的连接不是 HTTPS(他们的浏览器将在没有挂锁的情况下在地址栏中显示 http://www.sandbox.paypal.com
),但是他们可能不会-有后果。这就是为什么您不应该通过纯 HTTP 将页面重定向到支付站点的原因 - 以保护您的用户。在您的站点上使用 SSL,用户将能够在结帐阶段信任您的站点(因为它将通过 HTTPS 提供服务并且挂锁将在地址栏中)并且能够安全地遵循 PayPal 的结帐过程。
你的情况
话虽如此,由于您没有在表单请求中将任何机密信息从您的站点发送到 PayPal,因此用户很有可能会在输入任何详细信息之前注意到他们不在 PayPal 的安全版本上。如果您的表单包含的信息如果攻击者可以通过他们的 sslstrip 攻击立即拦截,那么您的网站将面临更大的风险。
总之,您似乎可以接受这里的风险,因为风险很低。如果在您的能力范围内,我会推荐全站 HTTPS。无论哪种方式,始终鼓励您的用户在输入他们的 PayPal 登录名或他们的卡详细信息之前检查地址栏和挂锁。在这种情况下,回头客在从不同位置访问您的网站时更有可能发现他们的连接是否被 MITM。