Web Application Layer Proxy Content Injection for Single-Page Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional web application layer proxies are unable to inject content into single-page applications (SPAs) and other web applications that use client-side scripting, as they do not control the rendering process by modifying the response body.

Innovation Solution

A web application layer proxy intercepts the web page from the server, inserts scripting language code that allows the client to process responses from the proxy, enabling the proxy to send responses without server involvement and manipulate the page's content, such as injecting CAPTCHA interfaces or warning pages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a web application layer proxy modifies the response body to inject content, then content injection works for traditional web applications, but it fails for single-page applications that use client-side scripting

Engineering Contradiction:
Improvecontent injection capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a navigation engine as an intermediary component within the web application layer proxy. This navigation engine intercepts HTTP requests, generates corresponding web pages with embedded scripting language code, and manages the interaction between the proxy and single-page applications. The navigation engine acts as a mediator that translates between the proxy's content injection needs and the SPA's client-side rendering mechanism, thereby enabling content injection into SPAs without requiring modifications to the SPA itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the proxy generates and sends web pages with scripting language code, then it can control rendering for single-page applications, but it increases the complexity of the proxy system

Engineering Contradiction:
Improverendering control capabilityVSAvoidproxy system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The navigation engine implemented in the web application layer proxy is designed to handle multiple types of web applications universally. It can process both traditional server-rendered web applications and modern single-page applications that rely on client-side scripting. The navigation engine achieves this universality by dynamically generating appropriate scripting language code (such as JavaScript) that adapts to the specific type of web application being accessed, thereby providing rendering control across different application types without requiring separate specialized systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If the proxy intercepts and modifies web pages, then it can inject security content like CAPTCHA, but it cannot effectively control applications that process responses using client-side scripts

Engineering Contradiction:
Improvesecurity controlVSAvoidapplication compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements preliminary action by embedding scripting language code directly into the web pages generated by the navigation engine before these pages are sent to the client. This pre-embedded code is specifically designed to intercept and process HTTP requests and responses at the client side, enabling security controls such as CAPTCHA challenges to be enforced within the single-page application's existing request-response flow. By preparing the client-side processing code in advance, the system ensures that security measures are integrated into the SPA's natural operation without requiring real-time modifications during request processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10783019B1Single page application content injection
Publication Date: 2020.09.22 IMPERVA INC
  • US10783019B1 patent drawing
  • US10783019B1 patent drawing
  • US10783019B1 patent drawing

AI summary

A method by a web application layer proxy communicatively coupled between a web application client and a web application server for injecting content into a web page provided by the web application server. The method includes intercepting the web page, inserting scripting language code into the web page that allows the web application client to process web application layer responses to be sent by the web application layer proxy to the web application client, sending the web page with the scripting language code inserted to the web application client, and responsive to receiving a web application layer request from the web application client, generating and sending, without involvement of the web application server, a web application layer response to the web application client that is to be processed by the web application client using the inserted scripting language code.