2013-04-01 2 views
3

Только что начал использовать Highcharts. Если я включаю данные в массив в javascript, данные доступны для тех, кто загружается при просмотре источника. Это было бы одинаково, когда данные вызываются, скажем, из файла csv. Есть ли способ защитить данные от копирования/загрузки?Графики безопасности данных

+0

Я задавался вопросом о том же. Взгляните на jsFiddle: http://jsfiddle.net/wergeld/xu5e2/, а затем этот: http://jsfiddle.net/wergeld/xu5e2/embedded/result/. Второй не показывает код JS, используемый для его создания в первом jsFiddle. Как это сделать? – wergeld

+2

@wergeld, вторая ссылка на самом деле ничего не скрывает, это просто показывает вам другой iframe jsfiddle. Щелкните правой кнопкой мыши по сюжету и сделайте «Просмотр источника кадра ...» – Mark

+0

@Mark, ничего себе. Ладно, он этого не делал. jsFiddle используется для того, чтобы как-то скрыть строитель js, когда вы посмотрели на встроенную страницу. Ну что ж. – wergeld

ответ

1

Будучи тем, что HighCharts является системой JS на стороне клиента, я не верю, что есть способ безопасно получить данные. Если вы просто попытаетесь выполнить вызов AJAX для получения данных во время выполнения, пользователь может увидеть этот вызов и ответ. Как вы сказали, вы не можете просто заполнить переменную в источнике, как там видно.

3

Нет, так как HighCharts - это клиентская библиотека JavaScript, доступные для нее данные также потенциально доступны конечному пользователю. На самом деле нет способа «защитить» его, как только данные попадут в браузер пользователя, хотя вы можете использовать HTTPS, аутентификацию на стороне сервера и т. Д., Чтобы, по крайней мере, гарантировать в принципе, что только предполагаемый пользователь получает данные.

Если вам нужно визуализировать свои данные, сохранив при этом фактические необработанные данные, очевидным решением является предоставление данных на сервере и просто (в конце) предоставление пользователю или другому изображению или другому статическому контенту. Но тогда вы теряете приятные интерактивные диаграммы.

Возможно, вы сможете использовать Flash или Silverlight для извлечения данных, чтобы сделать процесс сложнее в обратном проектировании. Это ничего не защищает, просто делая его немного сложнее для определенного пользователя.

С другой стороны, пользователь может видеть данные в любом случае на итоговой диаграмме. Если они действительно хотят загрузить данные, они могут тщательно идентифицировать каждую точку данных и создать собственный CSV-файл, верно? Вам нужно выяснить, что достаточно для вашего конкретного случая использования, и нанести соответствующий баланс.

0

Попробуйте делают диаграммы на функции сервера: http://www.highcharts.com/docs/export-module/render-charts-serverside

+0

Это не исправление, так как вы получаете предварительно рендерную диаграмму, но внутри диаграммы вы все равно можете видеть значения. Или вы можете визуализировать PNG, конечно, но тогда у вас нет никакой интерактивности – Asped

Смежные вопросы