Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 保护KML文件不被下载或访问_Security_Google Maps_Kml_Google Earth_Data Protection - Fatal编程技术网

Security 保护KML文件不被下载或访问

Security 保护KML文件不被下载或访问,security,google-maps,kml,google-earth,data-protection,Security,Google Maps,Kml,Google Earth,Data Protection,我试图保护我的KML文件,使其不被下载或容易提取其数据。我只想在谷歌地图或谷歌地球上查看该文件,但不允许任何人“轻松”下载或提取数据(kml文件不会公开提供)。我的kml文件是深入和独家分析的结果,这是我想对竞争对手隐瞒的一个特征 此外,还有其他方法可以将kml转换为无法轻松获取数据的格式。我的KML文件具有三维多边形 我理解这样一个概念:可以看到的任何东西都可以下载或提取,你的问题是基于一个被称为“通过模糊实现安全”的计算机安全谬论。谬论是这样的。你说你不想让它“容易”下载。你可以让它变得很难

我试图保护我的KML文件,使其不被下载或容易提取其数据。我只想在谷歌地图或谷歌地球上查看该文件,但不允许任何人“轻松”下载或提取数据(kml文件不会公开提供)。我的kml文件是深入和独家分析的结果,这是我想对竞争对手隐瞒的一个特征

此外,还有其他方法可以将kml转换为无法轻松获取数据的格式。我的KML文件具有三维多边形


我理解这样一个概念:可以看到的任何东西都可以下载或提取,你的问题是基于一个被称为“通过模糊实现安全”的计算机安全谬论。谬论是这样的。你说你不想让它“容易”下载。你可以让它变得很难,但只要有人发现它,他们就会写一个脚本自动完成,然后它就“容易”了。你的问题没有答案,因为这是不可能的。您提供的任何内容都是可盗版的,任何数据都是可重构的。

根据您的项目,我有4个答案或0个答案

  • 使用Google Maps Api for Business(每年约10.000美元),您可以 生成客户端ID并使用该ID保护融合表(can 在Google Drive中创建),您可以在其中导入KML,并且 然后可以使用谷歌地图Api显示。这将是一个完美的解决方案,但如果没有Google Maps Api for Business,您的融合表将不受保护,因此任何人都可以访问 它在谷歌驱动器和查看和复制粘贴的Kml 多边形的表示

  • 使用谷歌地图引擎,您可以导入您的 Kml到谷歌(如果您使用Lite,那么您首先需要导入到谷歌) “我的地图”和谷歌地图引擎Lite,您可以 从“我的地图”导入。我不知道非lite的价格。A. 谷歌地图引擎地图可以共享,因此它只能在 这个唯一的可视版本我还没有找到下载或下载的方法 查看我们想要的原始kml数据。听起来不错, 但是,在“地图引擎Lite”中,您只能使用3层,而且我还没有找到一种方法来导入所有多边形(区域) 我的案件)一次变成一层。我只能像看起来的那样一点一点地导入它们(成功地将总共353个点的10个多边形导入到一个层中)。每次导入都会导致一个图层,无法将内容从一个图层移动到另一个图层,并且由于某些原因,有些多边形似乎无法导入编辑
    我可以导入所有多边形,一个多边形(由于多边形的算法简化)得到了一个交点(线交叉),并且只要我修复了该部分,导入就不会再抛出任何错误,但我现在看到,我只能使用包含图例的iframe嵌入该贴图,所以这个解决方案对我来说不算什么

  • 将对服务器上KML的访问限制为仅使用谷歌地图服务器白名单的谷歌服务器,该白名单可能会请求您的 KML。问题:在网上找不到这样的列表。。。一定要收集一些 第一条路

  • 还有博客条目 及


  • 为什么不保存kml文件并剪切/粘贴到密码加密的usb驱动器上,如Kingston或Kanguru defender。然后从你的U盘上打开kml

    您可以检查
    $\u SERVER[“HTTP\u USER\u 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 ...
    
    $agent=“Kml谷歌”;
    $google=strpos($\服务器[“HTTP\用户\代理”],$AGENT);
    ($google!==FALSE)或死亡;
    标题('Content-Type:application/vnd.google earth.kml+xml-kml');
    标题('Content-Disposition:attachment;filename=“otras.kml”);
    ?>
    
    在过去的几个月里,你有什么进展吗?我很想知道外面有什么。嗨,你知道如何保护你的KML文件了吗?我现在正在一个PHP应用程序中工作……Allisone建议的选项3足以保护您的KML文件不被轻松下载。请注意,谷歌也会缓存你的KML文件,所以不会在每次用户请求时加载它!诚然,不可能100%的数据以某种方式公开。但通常情况下,这已经足够硬化了。你有房子吗?房子周围有栅栏吗?围栏并不能提供100%的保护,但它可以防止你在花园里轻松行走或做一些事情。选项3可能是一个最简单的解决方案。因为KML文件是通过谷歌服务器加载的,而不是通过用户浏览器加载的。这更像是一种解决方法,可能更适合作为注释。