Server-side detection and mitigation of client-side content filters
Abstract
A server-side technique to detect and mitigate client-side content filtering, such as ad blocking. In operation, the technique operates on a server-side of a client-server communication path to provide real-time detect the existence of a client filter (e.g., an ad blocker plug-in) through transparent request exchanges, and then to mitigate (defeat) that filter through one or operations designed to modify the HTML response body or otherwise obscure URLs. Preferably, the publisher (the CDN customer) defines one or more criteria of the page resources being served by the overlay (CDN) and that need to be protected against the client-side filtering.
Claims
exact text as granted — not AI-modifiedWhat is claimed is as follows:
1 . A computing system, comprising:
a client machine comprising a hardware processor, and computer memory; and a server machine comprising a hardware processor, and computer memory holding computer program code comprising:
first program code responsive to receipt of a request for a resource from a client (i) to determine whether the request has associated therewith given data indicating that the client implements a content filter; and (ii) to return a first script to the client responsive to a determination that given data is not associated to the request; and
second program code responsive to receipt of the re-issued request (i) to obtain the resource; (ii) to determine whether the client machine supports service worker threads; and (iii) to serve the resource together with a second script as a response to the re-issued request; the client machine configured to execute the first script returned from the server machine, thereby (a) detecting presence of the content filter in the client, (b) associating a value to the given data, (c) generating the re-issued request that includes the given data, and (d) sending the re-issued request to the server machine; the client machine further configured to receive the response and execute the second script, thereby (a) instantiating a service worker thread.
2 . The computing system as described in claim 1 wherein the service worker thread (e) fetches a rewrite policy, (f) obfuscates at least one Uniform Resource Identifier (URI) in the resource according to the policy.
3 . The computing system as described in claim 2 wherein the computer program code of the server machine includes third program code responsive to receipt of a follow-on request associated with the obfuscated URI to process the follow-on request.
4 . The computing system as described in claim 3 wherein the third program code is configured to (i) de-obfuscate the obfuscated URI to recover the URI; (ii) fetch a piece of content associated to the URI; (iii) perform a pre-rendering operation to generate a constructed response, and (iv) serve the constructed response.
5 . The computing system as described in claim 1 wherein the service worker is an event-driven worker thread registered against an origin and a path.
6 . The computing system as described in claim 1 wherein the service worker executes in a browser.
7 . The computing system as described in claim 1 wherein the given data is a cookie.
8 . The computing system as described in claim 2 wherein the policy is a rewrite policy obtained from the server machine.
9 . The computing system as described in claim 1 wherein the first and second program code execute in association with an edge server process.
10 . The computing system as described in claim 2 wherein the URI is obfuscated by one of: encryption, and scrambling.
11 . A computing system, comprising:
a client machine comprising a hardware processor, and computer memory; and a server machine comprising a hardware processor, and computer memory holding computer program code comprising:
first program code responsive to receipt of a request for a resource from a client (i) to determine whether the request has associated therewith a cookie indicating that the client implements a content filter; and (ii) to return a script to the client responsive to a determination that given data is not associated to the request; and
second program code responsive to receipt of the re-issued request (i) to receive the resource; and (ii) to serve the resource as a response to the re-issued request,
the client machine configured to execute the script returned from the server machine, thereby (a) detecting presence of the content filter in the client, (b) associating a value to the cookie, (c) generating the re-issued request that includes the cookie, and (d) sending the re-issued request to the client machine.Join the waitlist — get patent alerts
Track US2022329647A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.