今天,我们带来了一个可以保护个人隐私的网络搜索服务——秘迹搜索。秘迹搜索不会记录用户输入的查询关键词,真正做到搜索不留痕,彻底摆脱定向广告的骚扰。
谈到保护隐私,先来看看其他的网络搜索引擎是如何获取用户隐私信息的。因为当前中国大陆提供搜索服务的搜索引擎(还有国外的Google),都在使用相似的方法来获取用户隐私,所以在下文中我们用某某搜索来统一替代所有其他追踪用户的搜索引擎。
日常用户使用某某搜索引擎的过程,可以拆分成如下的几个步骤来理解:
使用浏览器打开某某搜索网站的网址,输入查询关键词。
某某搜索网站返回搜索结果数据的同时,还使用了各种追踪用户的黑科技,包括 tracking scripts, tracking pixels, tracking cookies 等等等等,来尽量精准地追踪用户在互联网上的各种行为。
以后这个用户查询不同的关键词,某某搜索网站会利用追踪技术,不断收集和存储他的搜索甚至浏览行为信息。不断丰富地勾勒出这个用户的兴趣爱好、健康状况、甚至家庭成员等等个人隐私信息。
这些搜索引擎在收集了众多用户画像信息后,最主要的商业变现方式就是定向广告。下图是某搜索引擎广告平台上对其精准人群定向能力的宣传,日均百亿次的线上行为数据中很有可能就包括你的搜索及点击行为。
而当一个用户使用秘迹搜索的时候: 1. 使用浏览器打开 https://mijisou.com,输入查询关键字。 2. 发起的网络请求传递到秘迹搜索的服务器上。但是秘迹搜索的服务器没有记录用户的任何信息(不光没有记录用户输入的检索词,从用户浏览器中带过来的IP地址、UserAgent、HTTP Header等信息,也统统没有记录)。 3. 最后,秘迹搜索将结果数据返回给用户的浏览器。 秘迹搜索没有存储任何的用户信息,也没有使用任何追踪用户的黑科技(tracking scripts, tracking pixels, tracking tags),甚至连浏览器Cookie都没有使用, 也就自然不会泄漏用户的隐私信息了。
说完了其他搜索和秘迹搜索的区别,我们再来看看很多网民常见的一个疑惑:很多浏览器都带有隐身模式或者无痕模式,在隐身模式下使用某某搜索,用户的隐私信息还会被泄漏吗? 其实这个答案就写在隐身(无痕)模式的的提示中,见下图。浏览器的隐身模式只是不在你的电脑上留下浏览痕迹和历史记录,但是它不会阻拦你访问的网站收集你的个人信息,也就是说只有秘迹搜索才是真正的无痕搜索。
从上面的对比分析中,我们可以清楚地看到对于用户的隐私保护,秘迹搜索并没有用太过神奇的黑科技,只是在严格遵循一条隐私原则:不存储和记录任何可以关联到用户身份的信息。下面我们会重点介绍一下为了严格执行上述隐私原则,秘迹搜索在技术实现上所做的实践和尝试。
没有Cookie的搜索引擎
说起Cookie, 可能对于熟悉技术的朋友都不会陌生。简单的说,cookie就是:网站为了记录用户的状态信息而在用户的浏览器里保存的数据文件。Cookie的发明本是用来优化互联网服务体验的,但是现在越来越多的网站将它用来进行用户身份追踪。对于秘迹搜索服务,如上文所述,我们没有在用户的浏览器里种任何Cookie。这一点只要你打开浏览器的开发者工具就可以看到,见下图。
提供聚合和过滤功能
如果你刚刚已经试用过秘迹搜索,就会发现在目前阶段,秘迹搜索的结果聚合了各种搜索引擎的检索结果。但我们并不是简单的提供聚合结果,秘迹搜索在后台帮助用户过滤掉一切追踪脚本和可以过滤掉的广告信息,最终提供给用户的都是干净的结果信息。我们做过一个实验分析,直接利用桌面浏览器访问某主流搜索引擎,和利用秘迹搜索访问某搜索引擎,在相同返回结果前提下,秘迹搜索的返回结果可以节省近10倍的网络流量,这些节省的流量大多数都是广告和追踪脚本。 所以,虽然我们的大部分搜索结果也是来自大家常用的搜索引擎,但是这些搜索引擎却不会追踪到你,也不会记录下你的IP地址和浏览器等信息。
提供匿名访问功能
除了提供搜索服务外,秘迹搜索对于检索到的结果还提供匿名访问功能,见下图所示。
匿名访问功能本质上是一个代理服务,比如你想访问秘迹搜索结果页中的 www.a.com 网站,如果通过匿名访问来浏览, 我们会通过代理服务(proxy.mijisou.com,这个代理服务是秘迹搜索自己的独立服务,依然不会记录任何请求日志)去获得www.a.com网站上的有用信息,然后再把有用信息中转展示给用户。 这个代理服务会完全保护用户免受各种追踪和搜扰。 但是在目前阶段我们的匿名访问的兼容性还需要完善。对于部分网站,有时候还会出现乱码和服务请求超时等问题。我们的程序员小哥哥正在不断优化这些服务,如果在使用过程中碰到这些问题,敬请谅解或者反馈给我们。
如果不收集用户数据,那我们是如何统计搜索访问量的呢?
每个网站都会统计用户访问量,为了准确的统计出每日用户请求数,在不收集任何用户信息的前提下,我们在search.conf 配置文件中增加了如下命令语句: access_log /var/log/nginx/search_access.log searchformat if=$arg_q (秘迹搜索的请求参数是q, 所以才使用$arg_q这个变量), 用白话翻译就是说只有用户真正使用秘迹搜索发起一次搜索请求时,我们才会根据searchformat 这个日志格式来记录日志。searchformat 的格式 : log_format searchformat '$status $time_local $http_host site="$server_name"(在Nginx.conf文件中配置) ,每条用户请求的真实日志如下所示。
200 23/Oct/2018:21:36:58 +0800 mijisou.com
可以看到秘迹搜索没有记录任何有关用户个人信息的字段, 我们使用上述方法做到了不记录任何用户请求信息的同时,又可以准确统计出秘迹搜索的每日访问量。未来我们也希望可以实时公开搜索服务的日志,甚至能够做到将整个运维操作实时公开,这些后续目标在我们的todo list 中,敬请期待。
互联网和大数据技术带来便捷生活体验的同时,也带来了种种乱象: 精准的用户画像被用来做大数据杀熟、网络上的定向广告比单元楼里粘贴的小广告还要可恶,网民的个人信息在黑市上、在各种互联网广告公司手上交易、贩卖。面对这样的现实,我们希望能够尽一点微薄之力,能够守护一丝网民的隐私信息。如果你也有这样的想法,快来联系我们吧。
PS: 为了保证我们服务的公开透明,目前我们特意选用了一个开源的j解决方案,而且我们基于其上的改进也同步开源出来。这样任何组织或者个人,都可以部署一套这个服务,给你自己或者你的家人、朋友使用。只要你部署的这个服务有足够多人使用,就可以确保自己的搜索关键字无法被跟踪。当然,你的部署如果只有你自己一个人用,就没有意义了。可以说,越多人用的话,搜索行为数据就被保护的越好。道理很简单,大隐隐于市。