IP Library Granted Patent US 12,425,489
Granted Patent B2
US 12,425,489 · App. 18/760,746 · Granted Sep 23, 2025

Inserting and replacing placeholders in resource code

Inventors: Lakshmi Prasad (Kozhikode, IN); Meir Baruch Blachman (Jerusalem, IL); Eitam Meisel (Ra'anana, IL)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L67/565H04L63/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,425,489
App. No.
18/760,746
Granted
Sep 23, 2025
Kind
B2
Abstract

Placeholders are inserted and replaced in placeholders in code included in resources. A proxy receives a request for a resource from a client and verifies an authentication credential included therein. The proxy determines a placeholder value indicating the authentication credential is verified and determines the requested resource corresponds to a first modified version of the resource stored in memory accessible to the proxy, the first modified version comprising a code component including a placeholder inserted by the proxy. The proxy replaces the placeholder with a first placeholder value to generate a second modified version of the resource and transmits the second modified version of the resource to a client. In another aspect, a client-side proxy service detects events in a modified version of a web page, inserts a placeholder in code of the web page, replaces the placeholder with a placeholder value, and evaluates the modified code.

Claims (65)

1. A computing device comprising:

a processor; and

memory storing programming instructions structured to cause the processor to:

send a request for a first resource to a proxy computing device;

receive a modified version of the first resource from the proxy computing device, the modified version of the first resource comprising an embedding function and a code rewriting function not included in the first resource;

detect an event associated with the embedding function and a code component;

insert, by the embedding function, a placeholder in the code component, resulting in a first modified version of the code component;

verify an authentication credential;

determine a placeholder value indicating the authentication credential is verified; and

replace, by the code rewriting function, the placeholder in the first modified version of the code component with the placeholder value, resulting in a second modified version of the code component.

2. The computing device of claim 1 , wherein the first resource comprises a web page, the modified version of the first resource comprises a modified version of the web page, and the programming instructions are further structured to cause the processor to:

present the modified version of the web page in a browser executed by the computing device.

3. The computing device of claim 1 , wherein the programming instructions are further structured to cause the processor to utilize a client-side proxy service to execute the embedding function and the code rewriting function.

4. The computing device of claim 3 , wherein the client-side proxy service is configured with the placeholder device, and to determine the placeholder value, the programming instructions are structured to cause the processor to:

determine the placeholder value based on the configuration of the client-side proxy service.

5. The computing device of claim 3 , wherein the programming instructions are further structured to cause the processor to:

receive the client-side proxy service from the proxy computing device.

6. The computing device of claim 1 , wherein to determine the placeholder value, the programming instructions are further structured to cause the processor to:

obtain the placeholder value from the proxy computing device.

7. The computing device of claim 6 , wherein to obtain the placeholder value, the programming instructions are further structured to cause the processor to:

establish a proxy session with the proxy computing device; and

receive the placeholder value from the proxy computing device.

8. The computing device of claim 1 , wherein to replace the placeholder in the first modified version of the code component with the placeholder value, the programming instructions are further structured to cause the processor to:

execute, by the embedding function, a call to the code rewriting function, the call comprising the first modified component as an argument thereof.

9. The computing device of claim 1 , wherein the programming instructions are further structured to cause the processor to:

store the embedding function and the code rewriting function in memory accessible to the computing device;

receive a modified version of a second resource from the proxy computing device, the modified version of the second resource comprising a prompt to access the embedding function.

10. A method performed by a client-side proxy service executing on a computing device comprising:

establishing a proxy session with a proxy-side proxy service executing on a proxy computing device;

receiving a placeholder value from the proxy-side proxy service, the placeholder value indicating an authentication credential is verified;

storing the placeholder value in memory accessible to the client-side proxy service;

detecting an event associated with an embedding function of the client-side proxy service and a code component of a resource;

generating, by the embedding function, a first modified version of the code component comprising a placeholder;

replacing, by a code rewriting function of the client-side proxy service, the placeholder with the stored placeholder value, resulting in a second modified version of the code component.

11. The method of claim 10 , wherein:

the resource comprises a web page;

the method further comprises presenting the web page in a browser executed by the computing device; and

said detecting the event comprises detecting the event in the web page.

12. The method of claim 10 , wherein the embedding function is stored in memory accessible to the client-side proxy service and the method further comprises:

receiving the resource from the proxy-side proxy service, the resource comprising the code component and a reference to the embedding function.

13. The method of claim 12 , further comprising:

accessing, based on the reference, the embedding function stored in the memory accessible to the client-side proxy service.

14. The method of claim 10 , wherein said replacing the placeholder with the stored placeholder value comprises:

executing, by the embedding function, a call to the code rewriting function, the call comprising the first modified component as an argument thereof.

15. A computer-readable storage medium having programming instructions encoded thereon that are executable by a processor circuit of a computing device to perform a method, the method comprising:

sending a request for a resource to a proxy computing device;

receiving, from the proxy computing device, a modified version of the resource, the modified version of the resource comprising an embedding function and a code rewriting function not included in the resource;

detecting an event in the resource associated with the embedding function and a code component;

inserting, by the embedding function, a placeholder in the code component, resulting in a first modified version of the code component;

verifying an authentication credential;

determining a placeholder value indicating the authentication credential is verified;

replacing, by the code rewriting function, the placeholder in the first modified version of the code component with the placeholder value, resulting in a second modified version of the code component.

16. The computer-readable storage medium of claim 15 , wherein the first resource comprises a web page, the modified version of the first resource comprises a modified version of the web page, and the method further comprises:

presenting the modified version of the web page in a browser executed by the computing device.

17. The computer-readable storage medium of claim 15 , wherein said determining the placeholder value comprises:

obtaining the placeholder value from the proxy computing device.

18. The computer-readable storage medium of claim 17 , wherein said obtaining the placeholder value comprises:

establishing a proxy session with the proxy computing device; and

receiving the placeholder value from the proxy computing device.

19. The computer-readable storage medium of claim 15 , wherein said replacing the placeholder in the first modified version of the code component with the placeholder value comprises:

executing, by the embedding function, a call to the code rewriting function, the call comprising the first modified component as an argument thereof.

20. The computer-readable storage medium of claim 15 , wherein the method further comprises:

storing embedding function in memory accessible to the processor circuit;

receiving another resource from the proxy computing device, the another resource comprising a reference to the embedding function; and

accessing, based on the reference, the embedding function stored in the memory accessible to the processor circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2024
From: PRASAD, LAKSHMI; BLACHMAN, MEIR BARUCH; MEISEL, EITAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 068219/0319 →
Priority Claims (1)
IN 202311037669 · May 31, 2023 · national
Continuity (2)
Continuation 18336554 · Jun 16, 2023
Related Publication 20240406285A1 · Dec 5, 2024
References Cited (14)
US 9531715B1 · Rodgers · 2016 [cited by examiner]
US 9578123B2 · Meyer · 2017 [cited by examiner]
US 10425464B2 · Kolam · 2019 [cited by examiner]
US 11321156B1 · Bernatik · 2022 [cited by examiner]
US 11349814B2 · Rene · 2022 [cited by examiner]
US 20120137213A1 · Hayler · 2012 [cited by examiner]
US 20130097129A1 · Shea · 2013 [cited by examiner]
US 20150134956A1 · Stachura · 2015 [cited by examiner]
US 20180159832A1 · Gluck · 2018 [cited by applicant]
US 20230116631A1 · Le Bouthillier · 2023 [cited by examiner]
US 20230137417A1 · Tiwari · 2023 [cited by applicant]
US 20230205734A1 · Zhang · 2023 [cited by examiner]
WO 2021126321A1 · 2021 [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/030192, Sep. 3, 2024, 13 pages. [cited by applicant]