2012-05-16 30 views
8

Estoy tratando de proteger mi archivo KML, de ser descargado o de que se extraigan sus datos fácilmente. Todo lo que quiero es que el archivo se visualice en google maps o google earth, pero nadie puede descargarlo o extraer los datos "fácilmente" (el archivo kml no estará disponible públicamente). Mis archivos kml son el resultado de un análisis profundo y exclusivo que es una firma que quiero esconder de la competencia.Proteger archivo KML de descargar o acceder

También hay alternativas para convertir kml a un formato que los datos no pueden obtenerse fácilmente de él. Mis archivos KML tienen polígonos en 3D.

entiendo el concepto de todo lo que se puede ver puede ser descargado o extraído de alguna manera,

+2

¿Llegó a algún lado con esto en los últimos meses? Tengo curiosidad por saber qué hay ahí fuera. – cytinus

+0

HI, ¿has descubierto cómo proteger tus archivos KML? Estoy trabajando en una aplicación PHP ahora mismo ... – kiks73

+0

La opción 3 de la sugerencia de Allisone es lo suficientemente buena como para proteger su archivo KML de la descarga fácil. Tenga en cuenta que Google también almacena en caché su archivo KML, por lo que no lo cargaría en cada solicitud de usuario. –

Respuesta

2

Tengo 4 respuestas o 0 respuestas, dependiendo de su proyecto.

  1. El uso de Google Maps API para negocios (~ 10.000 $ al año) se puede generar un ID de cliente y usarlo para proteger a una tabla dinámica (puede crear en Google Drive) donde se puede importar los archivos KML y que puede mostrar con Google Maps Api. Sería la solución perfecta, pero sin Google Maps Api for Business su Fusion Table no está protegida y cualquiera puede acceder al en Google Drive y ver y copiar y pegar la representación Kml de los polígonos.

  2. El uso de Google Maps Engine (/Lite) puede importar su KML a Google también (si se utiliza Lite entonces primero tiene que importar a Google "Mis mapas" y desde dentro de Google Maps Engine Lite a continuación, puede importación de "Mis mapas"). No sé el precio por no lite. Un Google Maps Engine Map se puede compartir, por lo que solo se puede ver y en esta única versión visible no he encontrado una manera de descargar o ver los datos de kml en bruto que sería lo que queremos. Suena todo bien, pero está limitado a 3 capas en Maps Engine Lite y no he encontrado una forma de importar todos mis polígonos (distritos en my case) en una capa a la vez. Solo puedo importarlos poco a poco como parece (logré importar 10 polígonos con un total de 353 puntos en una capa). Cada importación da como resultado una capa, no puede mover cosas de una capa a otra y, por alguna razón, hay algunos polígonos que parece que no puedo importar. Editar:
    Puedo importar todos los polígonos, un polígono (debido a la simplificación algorítmica de mis polígonos) obtuve una intersección (cruce de línea) y tan pronto como arreglé esa parte, la importación ya no arrojó ningún error, pero Ahora veo que solo puedo insertar ese mapa usando un iframe que tenga la leyenda incluida, así que esta solución no es nada para mí.

  3. Restrinja el acceso a un KML en su servidor a los servidores de Google solo con una lista blanca de servidores de Google Maps que pueda solicitar su KML. Problema: no se puede encontrar una lista en línea ... primero se debe recopilar en alguna forma .

  4. También hay entradas de blog Protecting KML Files from general public access in Google Maps y Protect KML/KMZ Files from Unauthorized Access Using Cryptography

+0

La opción 3 es probablemente la solución más fácil. Como los archivos KML son cargados por el servidor de Google, no por el navegador del usuario. –

0

Su pregunta se basa en una falacia de la seguridad informática conocida como "seguridad por oscuridad". La falacia es esto. Usted dice que no quiere que se descargue "fácilmente". Puedes hacerlo difícil, pero mientras sea posible tan pronto como una persona lo descubra, escriben un guión para hacerlo automáticamente y luego es "fácil". No hay respuesta a su pregunta porque es imposible. Cualquier contenido que hagas disponible es pirateable, y cualquier información es reconstruible.

+0

Cierto, no hay forma de que el 100% de los datos se publique de alguna manera. Pero a menudo se está endureciendo lo suficiente. ¿Tienes una casa? ¿Tienes valla alrededor de la casa? La valla no proporciona una protección del 100%, pero impide caminar o hacer algo fácilmente en su jardín. –

0

¿Por qué no guardar el archivo (s) KML y cortar/pegar en una unidad USB encriptada contraseña, como Kingston o defensor Kanguru. Luego solo abre el kml de tu disco usb.

+0

Esto es más de una solución y podría ser más adecuado como un comentario. – peege

0

puede consultar la variable $_SERVER["HTTP_USER_AGENT"] y si es de google y luego generar el kml de php.

$agent = "Kml-Google"; 
$google = strpos($_SERVER["HTTP_USER_AGENT"], $agent); 
($google !== FALSE) or die; 
header('Content-Type: application/vnd.google-earth.kml+xml kml'); 
header('Content-Disposition: attachment; filename="otras.kml"'); 
?> 
<?xml version="1.0" encoding="UTF-8"?> 
<kml xml ...