贝宝退订按钮显示CSP错误

时间:2020-09-25 11:39:53

标签: html reactjs paypal content-security-policy unsubscribe

我正在尝试实现Paypal退订按钮,可以在此链接https://developer.paypal.com/docs/paypal-payments-standard/integration-guide/html-example-subscribe/?mark=unsubsc#unsubscribe-button

中找到该按钮

但是我收到CSP错误(如上图所示),并且它不允许我登录我的Paypal沙箱帐户。

有人遇到过或解决了这个问题吗? CSP Error Image

2 个答案:

答案 0 :(得分:0)

您显示的控制台错误与Paypal取消订阅按钮没有共同之处。 从您的CSP的一小部分可以看出,Paypal的图像是允许的

由于您没有显示完整的错误文本,因此只能猜测该网站使用了Facebook授权,并且img-src指令中已阻止了Facebook徽标。

PS:最好将target="_blank"属性添加到“退订”按钮链接:

<a target="_blank" href="https://www.paypal.com/cgi-bin/webscr?cmd=_subscr-find&...">
<img src="https://www.paypalobjects.com/en_US/i/btn/btn_unsubscribe_LG.gif">
</a>

否则,如果您在iframe中使用“取消订阅”按钮-点击后会出现下一个错误: X-Frame-Options拒绝的负载:https://www.paypal.com/signin?returnUri=https%3A%2F%2Fwww.paypal.com%2Fmyaccount%2Fautopay&state=%2F不允许跨域成帧。

已更新

好的,我确实重现了此CSP错误。

  1. 点击“取消订阅” btn后,您将转到Paypal网页,因此是 Paypal的CSP错误,但不是您的网页 !!因此,您无需执行此CSP错误。

  2. 控制台错误:Refused to load the image 'https://www.facebook.com/tr?id=1674696026155243&noscript=1&cd[FPTICookie]=cb3302411740a4cc08380a42fd7e4e22&ev=ViewContent' because it violates the following Content Security Policy directive: "img-src 'self' https://*.googleusercontent.com/ https://*.paypalobjects.com https://ak1s.abmr.net https://ak1s.mathtag.com https://akamai.mathtag.com https://ak1.abmr.net https://*.paypal.com data:"

出现在旧的Chrome v49 / WinXP中,最新的Chrome v85具有更多不同的CSP错误: Paypal CSP errors

顺便说一句,Paypal的CSP有很多错误。贝宝使用第三方跟踪像素,但未在CSP中启用这些像素。只是想知道为什么如此认真的服务不会关注CSP违规报告。

我认为您应该将此事交给Paypal技术支持,这是他们的职责范围。

答案 1 :(得分:0)

更新,我认为发生了什么事,我正在尝试使用取消订阅按钮并使用沙箱个人帐户登录,但是我刚刚研究了无法使用该帐户登录的原因是因为取消订阅按钮可能仅适用于实时结帐流程,这意味着它仅适用于要订阅的真实帐户。如果我错了,请纠正我。但是问题是如何在开发环境中测试退订按钮?

PS,我从该线程中的评论之一中得到了这个主意:paypal Some of your info isn't correct. Please try again