1

私は、データベースからデータを取得し、Googleマップ上のデータ描画マーカーに基づいてASP MVC剃刀と混合したjavascript機能を持っています。サイトから盗難経緯度値を保護する方法

@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

残念ながら私は第三者(Googleなど)が地図を作成するためにページリクエストの外でこれらの座標にアクセスする必要があるとは思わないので、これらの詳細を非表示にする方法が見つかった場合はGoogleそれはページ要求の外でこれらの詳細を要求したとして、マップ(マーカーでマップを供給することができないであろう

+0

foursquareがこの値をどのように隠すか考えてください。または私はそれらを見つけることができません... – 1110

1

はここにアイデアだ:。。 あなたはHTTPSセキュリティで保護されたアドレスからAJAXを経由して座標をダウンロードすることができ この方法では、人々はトラフィックを盗聴することはできません

ハードコードされた値を持つaddMarkerを実行する代わりに、AJAX呼び出しのパラメータをm AP制御。

外部グラブからAJAXサービスを保護するには、サーバー側に一時的なトークンを生成します。トークンをASP.NET MVCページに埋め込みます(ajax呼び出し)。 AJAXサービスはトークンの値をチェックします。

これは100%安全ではありませんが、私の考えでは座標を盗む危険性は減ります。

100%安全である必要がある場合は、興味のあるポイントを含め、自分のサーバー上に最終イメージをレンダリングする必要があります。

+0

安全な方法でデータを取得しても、一度それは誰でもそれを少しの努力で得ることができるブラウザにあります。サーバー上のGoogleマップイメージを変更することは、利用規約に違反しています(許可している地図提供者を見つけることはできますが)。 –

関連する問題