保护KML文件免于下载或访问

时间:2012-05-16 22:18:07

标签: security google-maps kml google-earth data-protection

我正在尝试保护我的KML文件,免于下载或轻松提取其数据。我想要的只是在google maps或google earth中查看的文件,但不允许任何人下载它或“轻松”提取数据(kml文件不会公开发布)。我的kml文件是深度和独家分析的结果,这是我想要隐藏竞争对手的签名。

还有什么替代方法可以将kml转换为无法从中轻松获取数据的格式。我的KML文件有三维多边形。

我理解可以看到的所有内容的概念都可以以某种方式下载或提取,

4 个答案:

答案 0 :(得分:2)

我有4个答案或0个答案,具体取决于您的项目。

  1. 使用Google Maps Api for Business(每年约10.000美元)即可 生成客户端ID并使用它来保护Fusion Table(可以 在Google云端硬盘中创建),您可以在其中导入KML以及您的KML 然后可以使用Google Maps Api进行显示。这将是一个完美的解决方案,但如果没有Google Maps Api for Business,您的Fusion Table不受保护,因此任何人都可以访问 它在Google云端硬盘中查看并复制粘贴Kml 多边形的表示。

  2. 使用Google Maps Engine (/Lite),您可以导入 Kml也适用于谷歌(如果您使用Lite,则首先需要导入Google “我的地图”,您可以在Google Maps Engine精简版中使用 从“我的地图”导入)。我不知道非精简版的定价。一个 Google Maps Engine地图可以共享,因此只能在其中查看 这个唯一可见的版本我还没有找到下载或下载的方法 查看raw-kml-data,这将是我们想要的。听起来都不错, 但是你只能在Maps Engine Lite中使用3层,我还没有找到导入我所有多边形的方法 我的情况)一次进入一层。我只能一点一点地导入它们(设法导入10个多边形,总共353个点进入一个层)。每次导入都会导致一个图层,无法将图层从一个图层移动到另一个图层,并且由于某种原因,有一些我似乎无法导入的多边形。的修改
    我可以导入所有多边形,一个多边形(由于算法简化了我的多边形)得到了一个交叉点(线交叉),一旦我修复了那个部分,导入就不再抛出任何错误,但我现在看到我只能使用包含图例的iframe嵌入该地图,所以这个解决方案对我来说没什么。

  3. 仅使用可能会请求您的Google地图服务器的白名单,将您服务器上的KML限制权限限制在Google服务器上 KML。问题:在网上找不到这样的清单......必须收集一些 先行。

  4. 还有博客条目Protecting KML Files from general public access in Google MapsProtect KML / KMZ Files from Unauthorized Access Using Cryptography

答案 1 :(得分:0)

您的问题是基于计算机安全的谬误,称为“通过默默无闻的安全”。这个谬论就是这样。你说你不想“轻松”下载它。你可以把它变得很难,但是只要有人知道它就可以了,他们就会编写一个脚本来自动完成它然后“很容易”。你的问题没有答案,因为这是不可能的。您提供的任何内容都是可盗版的,任何数据都是可重建的。

答案 2 :(得分:0)

为什么不直接保存kml文​​件并剪切/粘贴到密码加密的USB驱动器上,如金士顿或Kanguru后卫。然后从你的USB磁盘上打开kml。

答案 3 :(得分:0)

您可以查看$_SERVER["HTTP_USER_AGENT"]变量,如果是来自Google,则从php生成kml。

$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 ...