Как защитить кражу значений долготы / широты с сайта - PullRequest
1 голос
/ 21 марта 2012

У меня есть функция javascript, смешанная с ASP MVC Razor, которая получает данные из базы данных и на основе этих данных рисует маркеры на карте Google.

@foreach (var item in Model.Locations)
            {                
                 @:addMarker(@item.Latitude, @item.Longitude, map);
             }

Проблема начинается после того, как я загружаю эти маркеры на карту. Если я открою исходный код страницы в браузере, цикл foreach будет выглядеть так:

addMarker(20.917701, 44.022, map);
addMarker(20.927701, 44.052, map);
addMarker(20.937701, 44.062, map);
addMarker(20.947701, 44.072, map);
...

Можно ли как-то скрыть значения этой координаты? Мой бизнес приложений основан на этих координатах, и я не хочу, чтобы кто-то делал сценарий и получал все координаты с моего сайта.

Ответы [ 2 ]

2 голосов
/ 21 марта 2012

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

1 голос
/ 21 марта 2012

Вот идея: Вы можете скачать координаты через AJAX с защищенного адреса HTTPS. Таким образом, люди не могут понюхать трафик.

Вместо запуска addMarker с жестко закодированными значениями вы можете затем передать параметры из вызова AJAX в элемент управления maps.

Чтобы защитить службу AJAX от внешнего захвата, вы генерируете временный токен на стороне сервера. Вы вставили токен на страницу ASP.NET MVC (в вызов ajax). Служба AJAX проверяет значение токена.

Это не на 100% безопасно, но, на мой взгляд, снижает риск кражи ваших координат.

Если он должен быть на 100% безопасным, вам необходимо вывести окончательное изображение на ваш собственный сервер, включая достопримечательности.

...