关于Exceptionless日志收集框架会被Fiddler抓包,从而获取到ApiKey的问题

环境:Exceptionless5.0.0、Linux、WPF客户端、Fiddler

问题:在使用Exceptionless 对 WPF客户端进行日志记录的时候。客户端在日志传送的过程中会被Fiddler抓包 并且获取到Exceptionless的ApiKey。

首先上几张图来更明显的描述问题。

第一张图是我WPF客户端采用的日志上传方式,即使用他封装好的方式CreateLog。

第二张图是我WPF客户端日志上传的过程中,开启了Fiddler。从图中很明显的看到这条上传信息被Fiddler抓取到了。

第三张图很明显的显示出了Fiddler抓取到的信息里包含有了我WPF客户端项目的Apikey。

第四张图是我通过Fiddler拿到的ApiKey,通过使用Postman进行模拟日志的上传。

第五张图很明显看到了我使用Postman上传的日志被传送到了Exceptionless服务器里面了。

首先通过这大家已经可以很明确的看出自己搭建的Exceptionless是存在一定的漏洞的。那么如何去解决他呢?

解决思路:我在这里提供目前而言两个解决思路(当然两个思路都是不采用他封装好的方法去提交,本人试过封装好的方法里没办法处理这个。Exceptionless的作者也是这样说的,Exceptionless作者说后面可能会考虑在用户界面删除ApiKey防止这个现象)。

(1)让后端开发一个日志接口,通过接口对Exceptionless服务器进行日志上传,然后接口对发送者进行身份的甄别验证。

(2)采用Https的方式进行上传,这就得借鉴我上一篇的内容 《WPF桌面程序在请求接口时如何防止被常用的抓包软件Fiddler抓包》

当然这两种方案都是比较麻烦就是得自己去手动获取并赋值数据。Exceptionless日志里每条日志都有一些环境数据,例如计算机名、处理器核数、总内存、可用内存、已用内存等等。当然大家可能觉得这些数据比较无关紧要,但值得一说的是,有时候客户电脑的环   境会影响到你的程序运行的结果,所以这些数据能拿的尽量就去做出来。

最后补充下:当我遇到这个问题的时候曾经有人说我这是闲的没事做、没必要纠结这个问题被抓到Apikey就被抓到、没必要较真、没有完美的程序。在这我只想说程序是没有完美的,或许我们开发出来一个程序后,我们发现了程序存在一定问题,我们忽略了。然后   测试肯定对于一些细节是不一定能测试到或想得比较全面的,当这个程序推行到市场的时候。这个问题被发现了该怎么办?这个问题谁来负责?损失谁来承担?就拿我本文章这个问题来说:首先我拿到你日志上传的ApiKey,那是不是意味着我可能整个小工具疯狂的   往你Exceptionless服务器上传一些垃圾数据?而且对于Exceptionless的日志据我上次看到的一条日志应该在1kb~2kb。在我对你服务器进行疯狂输送垃圾数据的过程中,你或许会说我修改下Apikey就行了,但你有没有想过那那些已经开始使用的客户怎么办,是不是   意味着日志就不能收集到?而且这个问题不解决,下个版本我依旧可以拿到你的ApiKey,是不是这个道理。话就说到这,希望对后面的人有帮助。

转载请标明原文链接

关于Exceptionless日志收集框架会被Fiddler抓包,从而获取到ApiKey的问题的更多相关文章

  1. .NET Exceptionless 日志收集框架本地环境搭建

    一.简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等 ...

  2. 关于Exceptionless日志收集框架如何关闭磁盘缓存

    问题:在使用Exceptionless的时候,Exception在收集到日志时会默认在appdata里面缓存当条日志的缓存文件,时间久了之后,如果收集到的日志越多磁盘的空间就会不足. 我使用的环境是 ...

  3. 在IIS上搭建Exceptionless日志收集框架

    系统环境要求 .NET 4.6.1,如果已安装过VS请忽略.Java Sdk1.8+,Win10环境下配置Java 环境变量参考,ElasticSearch 5.1,它是一个基于Lunce搜索服务器. ...

  4. ExceptionLess异常日志收集框架-1

    哈哈,中秋和代码更配哦,不知不觉一年过半了,祝园友们中秋快乐 前一阵子在博客园看到了一篇博文 http://www.cnblogs.com/savorboard/p/exceptionless.htm ...

  5. 日志收集框架 Exceptionless

    日志收集框架 Exceptionless 前言 从去年就答应过Eric(Exceptionless的作者之一),在中国会帮助给 Exceptionless 做推广,但是由于各种原因一直没有做这件事情, ...

  6. 在.NET Core中使用Exceptionless分布式日志收集框架

    一.Exceptionless简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF, ...

  7. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  8. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

  9. Net Core免费开源分布式异常日志收集框架Exceptionless

    asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 https://www.cnblogs.com/yilezhu/p/9193723.htm ...

随机推荐

  1. 学习2周C++的收获

    学习2周C++的收获 首先,C++是一种实用性很强的程序设计语言.它使用起来灵活.方便,运算符丰富,有结构化的层次…… 那么,我学习这个语言主要是为了参加信息学奥林匹克竞赛,这不仅要熟练地掌握一门语言 ...

  2. 使样式只在webkit内核生效

    @media screen and (-webkit-min-device-pixel-ratio:0){ .do someting{ } }     使用媒体查询,制定样式

  3. SQL语法入门

    SQL语句概述 ·SQL定义:是一种特定目的编程语言,用于管理关系数据库 ·GaussDB T是一种关系数据库,SQL语句包括 1.DDL 数据定义语言,用于定义或修改数据库中的对象(表,视图,序列, ...

  4. 手写IOC容器

    IOC(控制翻转)是程序设计的一种思想,其本质就是上端对象不能直接依赖于下端对象,要是依赖的话就要通过抽象来依赖.这是什么意思呢?意思就是上端对象如BLL层中,需要调用下端对象的DAL层时不能直接调用 ...

  5. 使用AB对Nginx压测和并发预估

    简介 ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的. # 1.ab每次只能测试一个URL,适合做重复压力测试 # 2.参数很多,可以支持添加c ...

  6. 【laravel】用户认证之----手动认证用户

    模型 如果某个模型类需要用于认证,必须继承自 Illuminate\Foundation\Auth\User 基类,否则会报错.然后在这个模型类中使用 Notifiable Trait,里面提供了用户 ...

  7. Python的条件判断与循环

    1.if语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下 if condition: blockelif condition: block...else: ...

  8. python入门神书!|python编程从入门到实践|内附网盘链接带提取码|

    点击此处进入网盘下载地址 提取码:o39n 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌握让 ...

  9. Python time tzset()方法

    描述 Python time tzset() 根据环境变量TZ重新初始化时间相关设置.高佣联盟 www.cgewang.com 标准TZ环境变量格式: std offset [dst [offset ...

  10. PHP curl_share_setopt函数

    (PHP 5 >= 5.5.0) curl_share_setopt — 设置 cURL 共享句柄的一个选项. 说明 bool curl_share_setopt ( resource $sh ...