我们的客户有这个带有接收终端的小局域网,他们通过这些终端流式传输Chrome
网络浏览器Citrix XenApp
。为什么?我不知道。这很奇怪,但这种串联似乎破坏了他们在我们网站表单上提交的数据。一些物理上无法缓存的东西——被缓存在这个XenApp
东西的某个地方。
这对我们来说是一个非常重要的错误,因为我们管理支付处理并且它正在兑现敏感的持卡人数据,这与 PCI DDS 不兼容!
我们已经告诉他们在终端机器上安装普通的 Chrome 浏览器,他们说他们做到了。但第二天——同样的问题发生了。然后他们说——“<strong>哦,它又是一台旧机器Citrix XenApp
。” 呸!现在可能一周过去了,我们又遇到了同样的问题,但他们声称他们不再使用XenApp
了,这是一个普通的本地 Chrome。
我不相信他们。但是我们如何证明他们是错的呢?
TL; DR:是否可以检测到:
- 网站访问者使用普通的本地 Chrome 浏览器或
- 在流式传输的 Chrome 浏览器下访问
Citrix XenApp
?
USER_AGENT
这是我们得到的一个例子:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, 像 Gecko) Chrome/39.0.2171.99 Safari/537.36
它看起来像一个完全正常的 Chrome 版本。试图查看 HTTP 标头,那里并没有什么特别之处。
有没有办法确定这一点,即使是理论上的?
- 我们的应用程序堆栈是
LAMP
,因此是 PHP 标记。 - 请不要认为这是我们的软件错误。我们有数百个客户,数百万笔交易,而这种情况只发生在这个
Citrix XenApp
疯狂的客户身上。
编辑:这不是重复的!在这里,我谈论的是在浏览器中运行的网站和服务器端脚本。与具有 API 和 DLL 的 Windows 应用程序无关