3

刚开始使用 Highcharts。如果我在 javascript 中的数组中包含数据,则任何人在查看源代码时都可以下载数据。当从 csv 文件调用数据时,这将是相同的。有没有办法保护数据不被复制/下载?

4

3 回答 3

4

不,因为 HighCharts 是一个客户端 JavaScript 库,它可用的数据也可能对最终用户可用。一旦数据到达用户的浏览器,确实没有办法“保护”它,尽管您可以使用 HTTPS、服务器端身份验证等来至少原则上保证只有目标用户接收数据。

如果您需要在保持实际原始数据安全的同时可视化数据,显而易见的解决方案是在服务器上呈现数据,然后(最终)向用户提供图像或其他静态内容。但是你会失去漂亮的交互式图表。

您也许可以使用 Flash 或 Silverlight 来检索数据,从而使部分过程更难进行逆向工程。这并没有保护任何东西,只是让有决心的用户更难了。

另一方面,用户可以在最终图表中看到数据。如果他们真的想下载数据,他们可以煞费苦心地识别每个数据点并创建自己的 CSV 文件,对吗?您需要弄清楚什么对您的特定用例来说足够好,并取得适当的平衡。

于 2013-04-01T16:56:40.680 回答
1

由于 HighCharts 是一个客户端 JS 系统,我不相信有一种方法可以安全地获取数据。如果您只是尝试通过 AJAX 调用在运行时获取数据,用户可以看到该调用和响应。正如您所说,您不能只在源中填充变量,因为它在那里可见。

于 2013-04-01T16:09:10.613 回答
0

尝试服务器功能上的渲染图表: http ://www.highcharts.com/docs/export-module/render-charts-serverside

于 2013-11-10T16:55:27.297 回答