如何从客户端网站安全地收集数据

时间:2009-02-26 12:32:18

标签: security

我需要向我的客户提供一个代码段,他们可以添加到他们的网站,类似于谷歌分析代码,例如

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}
</script>

但我需要它从客户电子商务网站收集一些价值。他们会将代码添加到他们的站点,然后我们会收到这些值并将它们添加到我们的sql数据库中。它们将根据我们提供给它们的代码提供客户端或服务器端的值。

有人可以建议一种安全的方法吗?就客户而言,越简单就越好。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:0)

Javascript是客户端技术。由于浏览器不允许跨站点脚本,因此您的客户端必须托管脚本,以便它可以访问页面的其余部分。它当然无法访问服务器上的电子商务应用程序,因为它在客户端上运行。 它可以简单地向电子商务服务器发出Ajax请求以获取数据,但这意味着您需要在可以处理此类请求的服务器上放置代码,并且完全在服务器端执行此操作是有意义的。 我不确定您要收集哪些信息,但似乎没有太多可以在客户端收集。

无论如何,您的Javascript可以在用户浏览器中呈现请求时,通过插入不可见的图像,并传递查询字符串中的信息 - 这是不安全的。

答案 1 :(得分:0)

您将需要在服务器端执行此操作。出于安全原因,浏览器要么在ssl会话期间不允许发布到另一个站点,要么向用户提供非常可爱的安全警告,使他们觉得自己被黑客入侵。

我会在您的服务器上创建一个Web服务,并为客户端提供一些示例代码,以便从服务器调用它。