From ed7bf9961096c3cf8580ff3e26a9a4c3347566b2 Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Tue, 6 Feb 2018 21:10:29 +0100 Subject: [PATCH] Prevent dev tools from leaking info in all request headers --- Core/Handling/RequestHandlerBase.cs | 13 ++++++++++++- Core/Handling/RequestHandlerBrowser.cs | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Core/Handling/RequestHandlerBase.cs b/Core/Handling/RequestHandlerBase.cs index 3621ab70..98a34c9c 100644 --- a/Core/Handling/RequestHandlerBase.cs +++ b/Core/Handling/RequestHandlerBase.cs @@ -1,4 +1,5 @@ -using CefSharp; +using System.Collections.Specialized; +using CefSharp; using CefSharp.Handler; using TweetDuck.Core.Handling.General; @@ -7,5 +8,15 @@ class RequestHandlerBase : DefaultRequestHandler{ public override bool OnOpenUrlFromTab(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture){ return LifeSpanHandler.HandleLinkClick(browserControl, targetDisposition, targetUrl); } + + public override CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback){ + if (ContextMenuBase.HasDevTools){ + NameValueCollection headers = request.Headers; + headers.Remove("x-devtools-emulate-network-conditions-client-id"); + request.Headers = headers; + } + + return base.OnBeforeResourceLoad(browserControl, browser, frame, request, callback); + } } } diff --git a/Core/Handling/RequestHandlerBrowser.cs b/Core/Handling/RequestHandlerBrowser.cs index f4eb9b16..b2a2bab8 100644 --- a/Core/Handling/RequestHandlerBrowser.cs +++ b/Core/Handling/RequestHandlerBrowser.cs @@ -11,7 +11,7 @@ public override CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, return CefReturnValue.Cancel; } - return CefReturnValue.Continue; + return base.OnBeforeResourceLoad(browserControl, browser, frame, request, callback); } } }