2012-05-16 7 views
8

Sto cercando di proteggere il mio file KML, dal download o dai suoi dati estratti facilmente. Tutto quello che voglio è che il file sia visualizzato in google maps o google earth, ma a nessuno è permesso scaricarlo o estrarre i dati "facilmente" (il file kml non sarà disponibile pubblicamente). I miei file kml sono il risultato di un'analisi approfondita ed esclusiva che è una firma che voglio nascondere ai concorrenti.Proteggi il file KML dal download o dall'accesso a

Esistono anche alternative per convertire kml in un formato che i dati non possono essere ottenuti facilmente da esso. I miei file KML hanno poligoni in 3D.

ho capito il concetto di tutto ciò che può essere visto possono essere scaricati o estratti in qualche modo,

+2

Sei andato d'accordo con questo negli ultimi mesi? Sono curioso di sapere cosa c'è là fuori. – cytinus

+0

HI, hai scoperto come proteggere i tuoi file KML? Sto lavorando su di esso in un'applicazione PHP proprio ora ... – kiks73

+0

L'opzione 3 del suggerimento di Allisone è sufficiente per proteggere il tuo file KML dal download semplice. Tieni presente che anche Google memorizza nella cache il tuo file KML, quindi non lo caricherà su ogni richiesta dell'utente! –

risposta

2

Ho 4 risposte o 0 risposte, a seconda del progetto.

  1. Utilizzo di Google Maps for Business (~ 10.000 $ all'anno) è possibile generare un ID client e l'uso che per proteggere una tabella Fusion (può creare in Google Drive) in cui è possibile importare file KML e che puoi aggiungere a utilizzando l'API di Google Maps. Sarebbe la soluzione perfetta, ma senza Google Maps Api for Business la tua Fusion Table non è protetta e quindi chiunque può accedere a in Google Drive e visualizzare e copiare e incollare la rappresentazione Kml dei poligoni.

  2. Utilizzo di Google Maps Engine (/Lite) è possibile importare la vostra KML per Google e (se usate Lite allora è necessario prima di importare in Google "Le mie mappe" e dall'interno di Google Maps Engine Lite è quindi possibile import da "Le mie mappe"). Non conosco i prezzi per non-lite. A La mappa di Google Maps Engine può essere condivisa in modo che sia visibile solo e in questa sola versione visualizzabile Non ho trovato un modo per scaricare o visualizzare i dati grezzi-kml che sarebbero ciò che vogliamo. Mi sembra tutto ok, ma sei limitato a 3 livelli in Maps Engine Lite e non ho trovato il modo di importare tutti i miei poligoni (distretti nel caso ) in un livello alla volta. Posso solo importarli un po 'alla volta (è riuscito a importare 10 poligoni con un totale di 353 punti in un livello). Ogni importazione risulta in un livello, non può spostare elementi da un livello all'altro e per qualche motivo ci sono alcuni poligoni che non riesco a importare. Modifica:
    Posso importare tutti i poligoni, un poligono (a causa della semplificazione algoritmica dei miei poligoni) ha ottenuto un incrocio (incrocio di linee) e non appena ho corretto quella parte l'importazione non ha più generato errori, ma io vedi ora che posso solo incorporare quella mappa usando un iframe con la leggenda inclusa, quindi questa soluzione non è nulla per me.

  3. Limitare l'accesso a un file KML sul server ai server di Google solo utilizzando un elenco bianco di server di Google Maps che potrebbe richiedere il file KML . Problema: impossibile trovare una tale lista online ... deve prima raccogliere in qualche modo .

  4. ci sono anche voci di blog Protecting KML Files from general public access in Google Maps e Protect KML/KMZ Files from Unauthorized Access Using Cryptography

+0

L'opzione 3 è probabilmente una soluzione più semplice. Poiché i file KML sono caricati dal server di Google, non dal browser dell'utente. –

0

La tua domanda è basata su un errore di sicurezza informatica conosciuta come "sicurezza attraverso l'oscurità". L'errore è questo. Dici che non vuoi che venga scaricato "facilmente". Puoi renderlo difficile, ma finché è possibile non appena una persona lo capisce, scrive una sceneggiatura per farlo automaticamente e quindi "facile". Non c'è risposta alla tua domanda perché è impossibile. Qualsiasi contenuto reso disponibile è piratabile e qualsiasi dato è ricostruibile.

+0

È vero, non sono disponibili dati al 100% che siano resi disponibili in qualche modo. Ma spesso si irrigidisce abbastanza. Hai una casa? Hai una recinzione intorno alla casa? Fence non fornisce una protezione al 100%, ma impedisce di camminare facilmente o di fare qualcosa nel tuo giardino. –

0

Perché non solo salvare il file KML (s) e tagliare/incolla su una password criptata drive USB, come Kingston o Kanguru difensore. Quindi apri il kml dal tuo disco usb.

+0

Questo è più di una soluzione alternativa e potrebbe essere più adatto come commento. – peege

0

è possibile controllare la variabile $_SERVER["HTTP_USER_AGENT"] e se proviene da Google, quindi generare il kml da 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 ... 
Problemi correlati