我对PCI合规性不太确定,但我相信这可以归结为"不要让信用卡数据影响你的服务器"。因此,任何后期请求基本上都意味着数据最终至少在服务器RAM中。
但是Websockets呢。NET Core Blazor,至少是当前版本,正在使用websocket更新并保持与服务器的连接打开。如果我有一个表单,上面有信用卡输入,即使用第三方JS库发送和操作信用卡数据(标记它等等(,它有机会访问服务器吗?
实际上,我不知道Blazor的后台发生了什么,比如,不确定到底是什么数据被发送到那里,所以Blazor会因此导致应用程序不符合PCI合规性吗?
我认为我的问题本可以用得更好,让我重新表述一下:
我的主要问题是,沿着CAN的路线,我们实现了与服务器端blazor的PCI合规性,而不必处理服务器的PCI合规性。有没有办法告诉blazor不要通过websocket发送敏感数据?据我所知,所有的客户端-服务器通信都是在后台进行的,有什么方法可以控制吗?或者使用服务器端意味着我必须确保我的服务器符合PCI。
PCI合规是您必须做的一整套事情。信用卡数据当然可以使用并发送到您的服务器。让它远离服务器的想法是降低您的合规性,即您接触信用卡数据的次数越少,必须采取的PCI合规步骤就越少。如果你使用托管支付平台,用户被重定向到另一个第三方来收集和处理信用卡信息,那么你就没有PCI合规性,因为你永远不会接触或看到信用卡数据。
然而,如果你把它放在客户端,但从不把它发送到服务器端,这并不意味着你不必担心PCI的合规性。您的PCI合规性负担较少,但并非没有。此外,在服务器端发送它的方法并不重要。网络套接字仍然有效。因此,如果你想让它完全脱离服务器,你必须使用客户端Blazor托管模型,即Webassembly。即便如此,你也必须小心,永远不要把它发送给你控制的任何东西。换句话说,您构建的API仍然是服务器端。您只能直接将其发送到您的支付处理器(Stripe、Authorize.Net等(