File upload methods, devices, computer equipment, readable storage media, and program products

By working collaboratively with the management server and the remote isolation server, the file upload function and security verification are dynamically controlled, solving the problems of flexibility and security in file upload control in the remote isolation security browser, and realizing flexible file upload management and efficient security protection.

CN119484511BActive Publication Date: 2025-10-31CHINA TELECOM CLOUD TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411670738.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-10-31
Estimated Expiration
2044-11-21

AI Technical Summary

Technical Problem

In existing technologies, file upload control in remotely isolated and secure browsers lacks flexibility and cannot simultaneously ensure user convenience and security.

Method used

The management server receives the terminal's startup request, establishes a connection with the remote isolation server, verifies the terminal's upload function and file size limit, dynamically controls the file upload process, introduces object storage services to ensure the accuracy of file transmission, and performs signature verification and malicious code detection.

Benefits of technology

It enables the file upload function to be dynamically enabled or disabled according to user needs, improving the system's flexibility and security, preventing malicious code intrusion, and enhancing the accuracy and security of file uploads.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484511B_ABST
    Figure CN119484511B_ABST
Patent Text Reader

Abstract

This application relates to a file upload method, apparatus, computer device, computer-readable storage medium, and computer program product. The method includes: receiving a startup request sent by a terminal; establishing a connection between the terminal and a remote isolation server based on the startup request; the connection being used for the terminal to send an interception permission request to the remote isolation server, so that the remote isolation server intercepts the file upload request sent by the terminal; receiving the file upload request sent by the terminal, the file upload request carrying a terminal identifier; verifying whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function is configured; if the upload function is enabled and the file size limit corresponding to the upload function is configured, sending a file start upload instruction to the terminal based on the configured file size, to instruct the terminal to upload the corresponding file to be uploaded. This method improves flexibility.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of IT technology, and in particular to a file upload method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Technology

[0002] With the rapid development of the internet, users' demand for online services is increasing, especially in areas such as remote work, online education, and e-commerce, where browsers have become the primary tool for accessing internet services. To improve security, Remote Browser Isolation (RBI) technology has emerged. By isolating browser sessions on remote servers, it can effectively prevent malicious code from harming users' local systems. However, file upload control becomes a critical issue when using RBI technology, requiring both user convenience and the prevention of potential security threats.

[0003] Current methods for uploading files directly to a local browser offer fixed file transfer functionality, which lacks flexibility. Summary of the Invention

[0004] Therefore, it is necessary to provide a file upload method, apparatus, computer device, computer-readable storage medium, and computer program product that can improve flexibility in addressing the aforementioned technical problems.

[0005] Firstly, this application provides a file upload method applied to a management server, the method comprising:

[0006] The terminal receives a startup request and establishes a connection between the terminal and the remote isolation server based on the startup request. The connection is used by the terminal to send an intercept permission request to the remote isolation server, so that the remote isolation server can intercept the file upload request sent by the terminal.

[0007] The receiving terminal sends a file upload request, the file upload request carrying a terminal identifier;

[0008] Verify whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function is configured;

[0009] When the upload function is enabled and the file size limit corresponding to the upload function is configured, a file upload start command is sent to the terminal based on the configured file size to instruct the terminal to upload the corresponding file to be uploaded.

[0010] In one embodiment, before sending the file upload start instruction to the terminal based on the configured file size, the method further includes:

[0011] Send an upload address retrieval request to the storage server and obtain the upload address returned by the storage server;

[0012] The upload address is returned to the terminal, which is used to upload the file to be uploaded to the upload address corresponding to the storage server.

[0013] In one embodiment, the method further includes:

[0014] The system receives a first notification from the terminal indicating that the file to be uploaded has been successfully uploaded to the upload address, and sends the first notification to the remote isolation server. The remote isolation server is used to download the file to be uploaded from the storage server based on the first notification, generate a relative path based on the downloaded file to be uploaded, and send the relative path to the management server.

[0015] The received relative path is sent to the terminal, which is used to send a second notification to the remote isolation server based on the relative path. The second notification is used to instruct the remote isolation server to generate an absolute path based on the relative path and send the absolute path to the server corresponding to the remote browser.

[0016] In one embodiment, before the file to be uploaded is uploaded to the upload address, a preliminary verification of the file to be uploaded is performed based on the file size, and the file to be uploaded that has passed the preliminary verification is uploaded to the storage server through signature verification and encrypted transmission technology;

[0017] The remote isolation server is also used to perform content security verification and malicious code detection on the files to be uploaded downloaded from the storage server;

[0018] If both the content security verification and malicious code detection pass, the file to be uploaded is stored.

[0019] In one embodiment, the method further includes:

[0020] Record the upload information related to the file to be uploaded;

[0021] Real-time upload status is generated based on the upload information and / or file upload review is performed based on the upload information.

[0022] In one embodiment, the method further includes:

[0023] Receive an instruction to view uploaded information, and display the corresponding uploaded information based on the instruction.

[0024] Configure upload function permissions and file size limits based on the uploaded information.

[0025] Secondly, this application also provides a file uploading device, the device comprising:

[0026] A connection establishment module is used to receive a startup request sent by a terminal and establish a connection between the terminal and a remote isolation server based on the startup request. The connection is used by the terminal to send an interception permission request to the remote isolation server, so that the remote isolation server can intercept the file upload request sent by the terminal.

[0027] The receiving module is used to receive file upload requests sent by the terminal, wherein the file upload request carries a terminal identifier;

[0028] The verification module is used to verify whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function has been configured.

[0029] The upload module is used to send a file start upload command to the terminal based on the configured file size when the upload function is enabled and the file size limit corresponding to the upload function is configured, so as to instruct the terminal to upload the corresponding file to be uploaded.

[0030] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described method.

[0031] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.

[0032] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described method.

[0033] The aforementioned file upload method, apparatus, computer equipment, computer-readable storage medium, and computer program product, in which the management server receives a start request sent by the terminal and establishes a connection between the terminal and the remote isolation server based on the start request, the connection is used for the terminal to send an intercept permission request to the remote isolation server, so that the remote isolation server intercepts the file upload request sent by the terminal. Subsequently, after the management server receives the file upload request, it verifies whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function is configured. If the upload function is enabled and the file size limit corresponding to the upload function is configured, the management server sends a file start upload command to the terminal based on the configured file size, instructing the terminal to upload the corresponding file to be uploaded. This provides the ability to dynamically enable or disable the file upload function according to user needs. Administrators can flexibly configure whether to allow the upload function and set the maximum allowed file size, thereby better adapting to the needs of different scenarios and improving flexibility. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 This is an application environment diagram of a file upload method in one embodiment;

[0036] Figure 2 This is a flowchart illustrating a file upload method in one embodiment;

[0037] Figure 3 This is a functional block diagram of a file upload method in one embodiment;

[0038] Figure 4 This is a timing diagram of a file upload method in one embodiment;

[0039] Figure 5 This is a flowchart of the initiation selection step in one embodiment;

[0040] Figure 6 This is a flowchart of the upload operation steps in one embodiment;

[0041] Figure 7 This is a flowchart of the remote download step in one embodiment;

[0042] Figure 8A flowchart illustrating the steps of notifying a remote browser server in one embodiment;

[0043] Figure 9 This is a structural block diagram of a file upload device in one embodiment;

[0044] Figure 10 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0045] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0046] The file upload method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, terminal 102 communicates with management server 104, remote isolation server 106, storage server 108, and remote browser server 110 via the network. Management server 104 communicates with remote isolation server 106, and remote isolation server 106 communicates with storage server 108 and remote browser server 110.

[0047] The management server 104 manages each remote isolation server 106, assigning a corresponding remote isolation server 106 to the terminal 102 for communication and establishing a communication relationship between the terminal 102 and the remote isolation server 106. The management server 104 can obtain the upload address from the storage server 108 and instruct the terminal 102 to upload the file to be uploaded to the corresponding upload address on the storage server 108. It also notifies the remote isolation server 106 that the upload is complete. The remote server 106 can then download the corresponding file from the storage server 108 and send the relative path to the terminal 102 via the management server 104. Based on this relative path, the terminal 102 requests the remote isolation server 106 to share the absolute path with the remote browser server 110.

[0048] At the start of the upload process, the management server 104 can verify whether the terminal has enabled the upload function and whether the corresponding file size limit for the upload function has been configured. This allows for flexible control of the entire file upload process. It can disable file uploads based on scenarios or configure the size of uploaded files based on scenarios. This provides the ability to dynamically enable or disable the file upload function according to user needs. Administrators can flexibly configure whether to allow the upload function and set the maximum allowed file size, thereby better adapting to the needs of different scenarios and improving flexibility.

[0049] The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle systems, and projection devices. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted displays. Head-mounted displays can be virtual reality (VR) devices, augmented reality (AR) devices, and smart glasses.

[0050] The management server 104, remote isolation server 106, storage server 108, and remote browser server 110 can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing cloud computing services. Furthermore, the management server 104, remote isolation server 106, storage server 108, and remote browser server 110 can be integrated into a single server or adopt a distributed architecture. Communication between the servers and between the servers and terminals is achieved through APIs and message queues, ensuring the system's scalability and flexibility.

[0051] In one exemplary embodiment, such as Figure 2 As shown, a file upload method is provided, which can be applied to... Figure 1 Taking the management server as an example, the explanation includes the following steps 202 to 206. Wherein:

[0052] S202: Receive a startup request sent by the terminal, and establish a connection between the terminal and the remote isolation server based on the startup request. The connection is used by the terminal to send an interception permission request to the remote isolation server, so that the remote isolation server intercepts the file upload request sent by the terminal.

[0053] The startup request is to establish a connection between the terminal and the remote isolation server, that is, the two can communicate. Specifically, the terminal opens the front-end interface, opens the corresponding link to trigger the system startup, so that the terminal can call the corresponding interface of the management server to enable the management server to allocate the corresponding remote isolation server to the terminal, thereby establishing a connection between the terminal and the remote isolation server.

[0054] Specifically, when a user opens a link, the system starts up and calls the start interface of the management server rbi-manager. The management server rbi-manager selects a suitable remote isolation server rbi-edge according to the requirements, establishes a connection with the rbi frontend (i.e., the terminal), and ensures a secure browsing environment.

[0055] Subsequently, the terminal can send an intercept permission request to the management server, so that the remote isolation server can intercept the file upload request sent by the terminal. This function can be implemented through the CDP (Chrome DevTools Protocol, a debugging and diagnostic protocol provided by the Google Chrome browser that allows developers to interact with the browser through a programming interface) protocol.

[0056] In one alternative embodiment, the RBI frontend (RBI (Remote Browser Isolation): Remote Browser Isolation is a network security technology that protects user devices from network threats and malicious content by isolating browser sessions on a remote server) sends CDP protocols, such as Page.setInterceptFileChooserDialo and DOM.enable, to the remote isolation server rbi-edge. The remote isolation server rbi-edge intercepts the CDP protocols, specifically Page.fileChooserOpened, preparing to intercept file selection dialog operations from the terminal's local browser.

[0057] The remote isolation server includes rbi-streaming-client and rbi-manager-client. rbi-streaming-client intercepts CDP protocol sent by the terminal to block file uploads.

[0058] S204: Receive a file upload request sent by the terminal, the file upload request carrying a terminal identifier.

[0059] A file selection dialog box pops up in the local browser on the terminal. The user can select the file to be uploaded and send the upload request to the remote isolation server so that the remote isolation server can verify the file upload request.

[0060] Specifically, the local browser on the terminal can send a command to start uploading, i.e., a file upload request, to the remote isolation server rbi-manager via WebSocket.

[0061] S206: Verify whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function has been configured.

[0062] After receiving a file upload request from a terminal, the remote isolation server rbi-manager verifies the file upload request, including whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function is configured.

[0063] In one optional embodiment, the application further includes dynamically enabling or disabling the file upload function corresponding to the terminal based on user needs, and setting file size limits corresponding to the upload function.

[0064] This user requirement can be scenario-based, with different scenarios corresponding to different user needs. Optionally, the management server can configure the terminal's upload function based on the terminal identifier and the corresponding upload scenario, or it can be flexibly configured manually by the administrator to adapt to the needs of different scenarios. Administrators can flexibly enable or disable the configuration upload function and set different file size limits according to actual needs to meet the requirements of various business scenarios.

[0065] S208: When the upload function is enabled and the file size limit corresponding to the upload function is configured, a file start upload command is sent to the terminal based on the configured file size to instruct the terminal to upload the corresponding file to be uploaded.

[0066] The management server verifies whether the terminal has enabled the file upload function based on the terminal identifier. If so, it queries the file size corresponding to the terminal identifier. Optionally, the management server can also detect whether the size of the file to be uploaded selected by the terminal meets the requirements based on the file size. If it meets the requirements, it instructs the terminal to upload the corresponding file to be uploaded. Specifically, the file to be uploaded is uploaded to the remote isolation server, and then the remote browser server is notified to facilitate normal session.

[0067] Furthermore, it should be noted that if the management server determines that the terminal has not enabled the file upload function or that the size of the file selected by the terminal for upload exceeds the file size limit corresponding to the upload function, the management server will return a verification failure message to the terminal. Optionally, this verification failure message may include the reason for the failure, such as the file upload function not being enabled or the file size not meeting the requirements. If the reason for the failure is that the file size does not meet the requirements, the terminal can segment the file to be uploaded based on the file size limit corresponding to the upload function and then make another file upload request.

[0068] The above file upload method involves the management server receiving a start request from the terminal and establishing a connection between the terminal and the remote isolation server based on the start request. This connection is used by the terminal to send an intercept permission request to the remote isolation server, enabling the remote isolation server to intercept the file upload request sent by the terminal. Subsequently, when the management server receives a file upload request, it verifies whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function is configured. If the upload function is enabled and the file size limit is configured, the management server sends a file start upload command to the terminal based on the configured file size, instructing the terminal to upload the corresponding file. This provides the ability to dynamically enable or disable the file upload function according to user needs. Administrators can flexibly configure whether to allow the upload function and set the maximum allowed file size, thereby better adapting to the needs of different scenarios and improving flexibility.

[0069] In one optional embodiment, before sending the file upload start instruction to the terminal based on the configured file size, the method further includes: sending an upload address acquisition request to the storage server and acquiring the upload address returned by the storage server; returning the upload address to the terminal, and the terminal using it to upload the file to be uploaded to the upload address corresponding to the storage server.

[0070] The upload address is the upload address of the corresponding storage server. This storage server can be obtained based on the S3 service. S3 (Amazon Simple Storage Service) is an object storage service provided by Amazon Web Services (AWS). In other embodiments, the storage server can use other object storage services. This is only one embodiment and does not mean that this solution must rely on this object storage service.

[0071] After the management server successfully verifies the file upload request from the terminal, it sends an upload address retrieval request to the storage server and obtains the upload address returned by the storage server. The management server then returns the upload address to the terminal so that the terminal can upload the file to be uploaded to the upload address corresponding to the storage server.

[0072] Specifically, the storage server returns the upload address to the management server, and the management server returns the address to the terminal via WebSocket.

[0073] In the above embodiments, the introduction of object storage services can ensure the accuracy of file uploads even under conditions of network instability or other factors. Furthermore, since the storage server and the remote isolation server are located on the same server or in a distributed architecture, the accuracy of file transfer can be guaranteed.

[0074] In one optional embodiment, the method further includes: receiving a first notification from the terminal indicating that the file to be uploaded has been successfully uploaded to the upload address, and sending the first notification to the remote isolation server, wherein the remote isolation server is configured to download the file to be uploaded from the storage server based on the first notification, generate a relative path based on the downloaded file to be uploaded, and send the relative path to the management server; sending the received relative path to the terminal, wherein the terminal is configured to send a second notification to the remote isolation server based on the relative path, wherein the second notification is configured to instruct the remote isolation server to generate an absolute path based on the relative path, and send the absolute path to the server corresponding to the remote browser.

[0075] After receiving the upload address, the terminal uploads the file to be uploaded to the storage server. The storage server returns the upload status of the file to the terminal. If the terminal receives a notification that the upload is complete, it generates a first notification that the file has been successfully uploaded to the upload address and sends the first notification to the management server. The management server then forwards the first notification to a remote isolation server, such as the rbi-manager-client of the remote isolation server. Upon receiving the first notification, the remote isolation server returns a success message to the management server. The remote isolation server is also used to download the file from the storage server. If the download fails, the rbi-manager-client of the remote isolation server notifies the download status via WebSocket. The process ends here.

[0076] If the download is successful, the storage server notifies the remote isolation server that the download is complete. The remote isolation server then notifies the management server of the file's relative path. For example, the management server S3 notifies rbi-manager-client that the download is complete. rbi-manager-client then notifies the management server rbi-manager of the file's relative path. The management server returns the relative path to the terminal. For example, the management server rbi-manager might send the file's relative path to the terminal via WebSocket. The terminal then sends a CDP protocol again, such as DOM.setFileInputFiles, where the path is a relative path. rbi-streaming-client intercepts the CDP protocol, modifies the file path to an absolute path, and notifies the remote browsing server (such as Chrome).

[0077] In one optional embodiment, before uploading the file to the upload address, the file to be uploaded is subjected to a preliminary verification based on its size, and the file to be uploaded to the storage server is uploaded after the preliminary verification is passed through signature verification and encrypted transmission technology; the remote isolation server is also used to perform content security verification and malicious code detection on the file to be uploaded downloaded from the storage server; if the content security verification and malicious code detection are both passed, the file to be uploaded is stored.

[0078] To enhance security, this application incorporates security controls during the file upload process to prevent malicious code injection and sensitive data leakage. The system utilizes signature verification and file size limits to ensure only authenticated files can be uploaded and to prevent forged or tampered upload requests. By strictly controlling the file upload process, the risk of malicious code and viruses infiltrating the enterprise network through file uploads is reduced, thus protecting the security of the enterprise's intranet environment.

[0079] Specifically, before a file is uploaded, permission verification is performed to check whether the file upload function is enabled and to determine file size limits. Secondly, basic file validation is conducted before upload, including format and size checks, as well as basic security checks. This ensures that uploaded files meet the expected format and size requirements and performs basic security checks such as virus scanning and file integrity verification.

[0080] When downloading files from the storage server, strict security controls are implemented to ensure the security of uploaded files and prevent malicious code injection and data leakage. Uploaded files undergo in-depth inspection and security verification, including content security scanning and malicious code detection, guaranteeing security.

[0081] In one optional embodiment, the method further includes: recording upload information related to the file to be uploaded; generating a real-time upload status based on the upload information; and / or performing file upload review based on the upload information.

[0082] In one optional embodiment, the method further includes: receiving an upload information viewing instruction and displaying the corresponding upload information based on the upload information viewing instruction; configuring upload function permissions and file size limits based on the upload information.

[0083] This application may also introduce a security audit service, which records and stores logs and audit information of upload activities. The management console service can be used by administrators to monitor and manage the system and receive security audit records.

[0084] Specifically, the security audit service records upload operation logs and audit information, providing administrators with auditing capabilities. It meticulously records user upload activities, operation times, file information, etc., supporting security audits and compliance checks.

[0085] The management console service provides administrators with the ability to monitor and manage the system, receiving log information from the security audit module. It allows administrators to monitor file upload activity in real time, configure upload permissions, and view upload statistics.

[0086] The above embodiments provide real-time monitoring and management functions for the file upload process, allowing administrators to understand the status and results of file uploads in real time. The system also supports auditing and logging of uploaded files, facilitating the tracing and analysis of historical records and security events. Furthermore, through automated support and a more reliable upload process, upload failures are reduced, improving user satisfaction. During file uploads, the system employs pre-verification and multi-step confirmation mechanisms to ensure a smooth and successful upload process. The introduction of a file upload control system and method into Remote Isolation Security Browser (RBI) technology helps improve the overall system's security and reliability. Through flexible function configuration, strict security controls, simplified management processes, and optimized user experience, this application meets user needs while possessing significant technical and commercial value. Promoting the application of this application can further enhance enterprise network security protection levels, improve service quality in areas such as remote work, online education, and e-commerce, and promote the safe, stable, and efficient development of internet services.

[0087] For ease of understanding, combined with Figure 3 As shown, Figure 3This is a functional block diagram of a file upload method in one embodiment. The user interface module, file pre-verification module, and file transfer and processing module are located on the terminal; the permission management module and management console module are located on the management server; and the security control module and file transfer and processing module are located on a remote isolation server. Specifically, the file pre-verification module performs file checks; the permission management module manages upload permissions; the management console module monitors system operation; the security control module ensures file security; the file transfer and processing module is responsible for uploading files to the remote server; the remote isolation secure browser module provides a secure browsing environment; and the security audit module records upload logs.

[0088] Specifically, the user interface module is responsible for interacting with the user, including file selection, upload operations, and receiving system notifications. It provides a user-friendly interface, allowing users to easily select and upload files.

[0089] The file pre-verification module performs basic checks on files before they are uploaded, including format and size checks, as well as basic security checks. It ensures that uploaded files meet the expected format and size requirements and performs basic security checks such as virus scanning and file integrity verification.

[0090] The access control module manages user upload permissions, dynamically configuring upload functionality and file size limits. Based on the policies configured by the administrator, it determines whether users are allowed to perform upload operations and sets file size limits to control system resource usage.

[0091] The management console module provides administrators with the ability to monitor and manage the system, receiving log information from the security audit module. It allows administrators to monitor file upload activity in real time, configure upload permissions, and view upload statistics.

[0092] The security control module implements strict security measures to ensure the security of uploaded files and prevent malicious code injection and data leakage. It performs in-depth checks and security verifications on uploaded files, including content security scanning and malicious code detection.

[0093] The file transfer and processing module is responsible for securely uploading files to a remote server and performing subsequent processing. It ensures data integrity and security during the file upload process by employing encrypted transmission and verification mechanisms.

[0094] The Remote Isolation Secure Browser Module (RBI Edge) provides a secure remote browsing environment, ensuring that user browsing activities take place in an isolated environment. This prevents malicious websites and attacks from compromising user system security through the browser session.

[0095] The security audit module records upload operation logs and audit information, providing administrators with auditing capabilities. It records detailed user upload activities, operation times, file information, etc., supporting security auditing and compliance checks.

[0096] Combination Figure 4 As shown, Figure 4 This is a timing diagram of a file upload method in one embodiment. In this embodiment, after the system starts, the user interface module establishes a connection with the remote isolated secure browser module. The front end sends the CDP protocol to intercept the file selection dialog operation of the local browser. After the user selects a file, an upload command is sent to the permission management module via WebSocket. After verifying permissions, the module requests a pre-verified upload address. After successful upload, the management console module is notified to download the file. The file is then uploaded to the remote server through the file transfer and processing module. The remote isolated secure browser module receives the CDP protocol and forwards the secure path to the remote browser.

[0097] The file upload method includes the following steps:

[0098] (1) System startup and connection establishment

[0099] Specifically, in combination Figure 5 As shown, when a user opens a link, the system starts up by calling the `start` interface of `rbi-manager`. `rbi-manager` then selects the appropriate `rbi-edge` based on requirements, establishes a connection with the RBI frontend, and ensures a secure browsing environment.

[0100] (2) CDP protocol delivery and interception

[0101] The RBI frontend (located in the local browser in the terminal) sends CDP protocols to the remote isolation server rbi-edge, such as Page.setInterceptFileChooserDialo and DOM.enable. rbi-edge intercepts the CDP protocols, especially Page.fileChooserOpened, to prepare to intercept file selection dialog operations in the local browser.

[0102] (3) File selection and upload preparation

[0103] The local browser pops up a file selection dialog box, allowing the user to choose the file to upload.

[0104] (4) Sending and verifying upload instructions

[0105] Specifically, in combination Figure 6As shown, the frontend sends a command to the management server rbi-manager to start uploading via WebSocket. The management server rbi-manager receives the command and verifies whether the upload function is enabled and the file size limit is set.

[0106] (5) Pre-verification address request and return

[0107] After successful verification, the management server rbi-manager requests the pre-verified upload address from the storage server S3. The storage server S3 returns the upload address to rbi-manager, which then returns the address to the frontend via WebSocket.

[0108] (6) Upload the file to the storage server S3

[0109] After receiving the pre-verified upload address, the user clicks the upload button to upload the file to the storage server S3. The storage server S3 processes the file upload and returns the upload status to the front end.

[0110] (7) Upload result notification and file download trigger

[0111] Specifically, in combination Figure 7 As shown, the local browser notifies the management server rbi-manager of the upload result (success or failure) via WebSocket. If the upload is successful, the management server rbi-manager notifies rbi-manager-client to download the file.

[0112] (8) File download processing

[0113] After receiving the notification, the rbi-manager-client requests the storage server S3 to download the file. The storage server S3 processes the download request and transfers the file to the rbi-manager-client.

[0114] (9) Download status notification

[0115] If the download fails, rbi-manager-client notifies the download status via WebSocket, and the process ends there.

[0116] (10) Download success notification and file path transfer

[0117] Specifically, in combination Figure 8 As shown, if the download is successful, the storage server S3 notifies the rbi-manager-client that the download is complete. The rbi-manager-client then sends the relative path of the file to the management server rbi-manager.

[0118] (11) Notify the front end of the file path

[0119] The management server rbi-manager notifies the front end of the relative path of the file via WebSocket.

[0120] (12) CDP protocol distribution and path modification

[0121] The RBI frontend (located on the terminal) reissues the CDP protocol (such as DOM.setFileInputFiles) with a relative path. rbi-streaming-client intercepts the CDP protocol, modifies the file path to an absolute path, and notifies the remote browser (such as Chrome).

[0122] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0123] Based on the same inventive concept, this application also provides a file upload device for implementing the file upload method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more file upload device embodiments provided below can be found in the limitations of the file upload method described above, and will not be repeated here.

[0124] In one exemplary embodiment, such as Figure 9 As shown, a file upload device is provided, including: a connection establishment module 901, a receiving module 902, a verification module 903, and an upload module 904, wherein:

[0125] The connection establishment module 901 is used to receive a startup request sent by the terminal and establish a connection between the terminal and the remote isolation server based on the startup request. The connection is used by the terminal to send an interception permission request to the remote isolation server so that the remote isolation server can intercept the file upload request sent by the terminal.

[0126] The receiving module 902 is used to receive a file upload request sent by the terminal, wherein the file upload request carries a terminal identifier;

[0127] The verification module 903 is used to verify whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function has been configured.

[0128] The upload module 904 is used to send a file start upload command to the terminal based on the configured file size when the upload function is enabled and the file size limit corresponding to the upload function is configured, so as to instruct the terminal to upload the corresponding file to be uploaded.

[0129] In one optional embodiment, the device further includes: an upload address acquisition module, configured to send an upload address acquisition request to the storage server and acquire the upload address returned by the storage server; and return the upload address to the terminal, wherein the terminal is configured to upload the file to be uploaded to the upload address corresponding to the storage server.

[0130] In one optional embodiment, the upload module is further configured to receive a first notification from the terminal indicating that the file to be uploaded has been successfully uploaded to the upload address, and send the first notification to the remote isolation server. The remote isolation server is configured to download the file to be uploaded from the storage server based on the first notification, generate a relative path based on the downloaded file to be uploaded, and send the relative path to the management server. The terminal sends the received relative path to the terminal, and the terminal is configured to send a second notification to the remote isolation server based on the relative path. The second notification instructs the remote isolation server to generate an absolute path based on the relative path and send the absolute path to the server corresponding to the remote browser.

[0131] In one optional embodiment, before uploading the file to the upload address, the file to be uploaded is subjected to a preliminary verification based on its size, and the file to be uploaded to the storage server is uploaded after the preliminary verification is passed through signature verification and encrypted transmission technology; the remote isolation server is also used to perform content security verification and malicious code detection on the file to be uploaded downloaded from the storage server; if the content security verification and malicious code detection are both passed, the file to be uploaded is stored.

[0132] In one optional embodiment, a recording module is further included, used to record upload information related to the file to be uploaded; generate a real-time upload status based on the upload information and / or perform file upload review based on the upload information.

[0133] In one optional embodiment, a configuration module is further included, which is used to receive an upload information viewing instruction and display the corresponding upload information based on the upload information viewing instruction;

[0134] Configure upload function permissions and file size limits based on the uploaded information.

[0135] Each module in the aforementioned file upload device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0136] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 10 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and databases. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media to run. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements a file upload method.

[0137] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0138] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0139] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0140] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0141] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0142] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0143] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0144] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A file upload method, characterized in that, Applied to a management server, the method includes: The terminal receives a startup request and establishes a connection between the terminal and the remote isolation server based on the startup request. The connection is used by the terminal to send an intercept permission request to the remote isolation server so that the remote isolation server can intercept the file upload request sent by the terminal. The receiving terminal sends a file upload request, the file upload request carrying a terminal identifier; Verify whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function is configured; With the upload function enabled and the file size limit corresponding to the upload function configured, an upload address acquisition request is sent to the storage server, and the upload address returned by the storage server is obtained; the upload address is returned to the terminal, and the terminal is used to upload the file to be uploaded to the upload address corresponding to the storage server; based on the configured file size, a file start upload instruction is sent to the terminal to instruct the terminal to upload the corresponding file to be uploaded; The system receives a first notification from the terminal indicating that the file to be uploaded has been successfully uploaded to the upload address, and sends the first notification to the remote isolation server. The remote isolation server is used to download the file to be uploaded from the storage server based on the first notification, generate a relative path based on the downloaded file to be uploaded, and send the relative path to the management server. The received relative path is sent to the terminal, which is used to send a second notification to the remote isolation server based on the relative path. The second notification is used to instruct the remote isolation server to generate an absolute path based on the relative path and send the absolute path to the server corresponding to the remote browser.

2. The method according to claim 1, characterized in that, Before being uploaded to the upload address, the file to be uploaded is subjected to a preliminary verification based on its size, and the file that has passed the preliminary verification is uploaded to the storage server through signature verification and encrypted transmission technology. The remote isolation server is also used to perform content security verification and malicious code detection on the files to be uploaded downloaded from the storage server; If both the content security verification and malicious code detection pass, the file to be uploaded is stored.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Record the upload information related to the file to be uploaded; Real-time upload status is generated based on the upload information and / or file upload review is performed based on the upload information.

4. The method according to claim 1 or 2, characterized in that, The method further includes: Receive an instruction to view uploaded information, and display the corresponding uploaded information based on the instruction. Configure upload function permissions and file size limits based on the uploaded information.

5. A file upload device, characterized in that, The device, used for managing servers, includes: A connection establishment module is used to receive a startup request sent by a terminal and establish a connection between the terminal and a remote isolation server based on the startup request. The connection is used by the terminal to send an interception permission request to the remote isolation server, so that the remote isolation server can intercept the file upload request sent by the terminal. The receiving module is used to receive file upload requests sent by the terminal, wherein the file upload request carries a terminal identifier; The verification module is used to verify whether the terminal corresponding to the terminal identifier has enabled the upload function and whether the file size limit corresponding to the upload function has been configured. The upload module is used to send a file start upload command to the terminal based on the configured file size when the upload function is enabled and the file size limit corresponding to the upload function is configured, so as to instruct the terminal to upload the corresponding file to be uploaded; The upload address acquisition module is used to send an upload address acquisition request to the storage server and obtain the upload address returned by the storage server. The upload address is returned to the terminal, which is used to upload the file to be uploaded to the upload address corresponding to the storage server; The upload module is specifically used to receive a first notification from the terminal indicating that the file to be uploaded has been successfully uploaded to the upload address, and to send the first notification to the remote isolation server. The remote isolation server is used to download the file to be uploaded from the storage server based on the first notification, and to generate a relative path based on the downloaded file to be uploaded, and to send the relative path to the management server. The terminal sends the received relative path to the terminal, and the terminal is used to send a second notification to the remote isolation server based on the relative path. The second notification is used to instruct the remote isolation server to generate an absolute path based on the relative path, and to send the absolute path to the server corresponding to the remote browser.

6. The apparatus according to claim 5, characterized in that, Before being uploaded to the upload address, the file to be uploaded is subjected to a preliminary verification based on its size, and the file that has passed the preliminary verification is uploaded to the storage server through signature verification and encrypted transmission technology. The remote isolation server is also used to perform content security verification and malicious code detection on the file to be uploaded downloaded from the storage server; if both the content security verification and malicious code detection pass, the file to be uploaded is stored.

7. The apparatus according to claim 5 or 6, characterized in that, The device further includes: The recording module is used to record upload information related to the file to be uploaded; generate real-time upload status based on the upload information and / or review file uploads based on the upload information.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 4.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • File upload methods, clients, application servers, and cloud storage systems for cloud storage

    CN104247376B

  • File uploading method, device and system

    CN110012055A

  • Transparent web browsing recorder

    US11979383B1