Predefined scripts provides the syntax, usage, and examples of the predefined commands that are useful for writing scripts.
Inserts a 32-bit hex string into the HTTP header with a parameter "Message-ID".
Note: You can use the script directly, without making any changes.
|GENERAL_REDIRECT_DEMO||FortiADC redirects HTTP requests to a set location.|
|USE_REQUEST_HEADERS_in_OTHER_EVENTS||FortiADC uses a session ID to obtain data from that session.|
|COMPARE_IP_ADDR_2_ADDR_GROUP_DEMO||FortiADC tries to find the client IP address in an internal list and returns the result.|
|HTTP_2_HTTPS_REDIRECTION_FULL_URL||FortiADC redirects an HTTP request.|
|REWRITE_HTTP_2_HTTPS_in_LOCATION||FortiADC changes an HTTP location given in an HTTP response with an HTTPS location.|
|REWRITE_HTTPS_2_HTTP_in_LOCATION||FortiADC changes an HTTPS location given in an HTTP response with an HTTP location.|
|REWRITE_HTTP_2_HTTPS_in_REFERER||FortiADC changes a HTTP referer given in an HTTP response with an HTTPS referer.|
|REWRITE_HTTPS_2_HTTP_in_REFERER||FortiADC changes a HTTPS referer given in an HTTP response with an HTTP referer.|
|HTTP_DATA_FETCH_SET_DEMO||FortiADC reads the body of every HTTP request, and can manipulate the data depending on settings.|
|HTTP_DATA_FIND_REMOVE_REPLACE_DEMO||FortiADC reads the body of every HTTP request and will find and replace data in the body.|
|MULTIPLE_SCRIPT_CONTROL_DEMO_1||When multiple scripts are running, this will determine the priority of each script.|
|MULTIPLE_SCRIPT_CONTROL_DEMO_2||When multiple scripts are running, this will determine the priority of each script.|
|HTTP_REQUEST_SEND||Triggered immediately before a request is sent to a server.|
|AES_DIGEST_SIGN_2F_COMMANDS||Demonstrates how to use AES to encryption/decryption data and some tools to generate the digest.|
|AUTH_COOKIE_BAKE||Allows you to retrieve the baked cookie and edit the cookie content.|
|AUTH_EVENTS_n_COMMANDS||Used to get the information from authentication process.|
|CLASS_SEARCH_n_MATCH||Demonstrates how to use the class_match and class_search utility function.|
|CONTENT_ROUTING_by_URI||Routes to a pool member based on URI string matches. You should not use this script as is. Instead, copy it and customize the URI string matches and pool member names.|
|CONTENT_ROUTING_by_X_FORWARDED_FOR||Routes to a pool member based on IP address in the X-Forwarded-For header. You should not use this script as is. Instead, copy it and customize the X-Fowarded-For header values and pool member names.|
|COOKIE_COMMANDS||Demonstrate the cookie command to get the whole cookie in a table and how to remove/insert/set the cookie attribute.|
|COOKIE_COMMANDS_USAGE||Demonstrate the sub-function to handle the cookie attribute "SameSite" and others.|
|COOKIE_CRYPTO_COMMANDS||Used to perform cookie encryption/decryption on behalf of the real server.|
|CUSTOMIZE_AUTH_KEY||Demonstrate how to customize the crypto key for authentication cookie.|
|GEOIP_UTILITY||Used to fetch the GEO information country and possible province name of an IP address.|
|HTTP_2_HTTPS_REDIRECTION||Redirects requests to the HTTPS site. You can use this script without changes|
|HTTP_DATA_FETCH_SET_DEMO||"Collects data in HTTP request body or HTTP response body. In HTTP_REQUEST or HTTP_RESPONSE, you could collect specified size data with “size” in collect().In HTTP_DATA_REQUEST or HTTP_DATA_RESPONSE. You could print the data use “content”, calculate data length with “size”, and rewrite the data with “set”. Note: Do NOT use this script ""as is"". Instead, copy it and manipulate the collected data."|
|IP_COMMANDS||Used to get various types IP Address and port number between client and server side.|
|MANAGEMENT_COMMANDS||Allow you to disable/enable rest of the events from executing.|
Performs optional client authentication.
Note: Before using this script, you must have the following four parameters configured in the client-ssl-profile:
|REDIRECTION_by_STATUS_CODE||Redirects requests based on the status code of server HTTP response (for example, a redirect to the mobile version of a site). Do NOT use this script "as is". Instead, copy it and customize the condition in the server HTTP response status code and the URL values.|
|REDIRECTION_by_USER_AGENT||Redirects requests based on User Agent (for example, a redirect to the mobile version of a site). You should not use this script as is. Instead, copy it and customize the User Agent and URL values|
|REWRITE_HOST_n_PATH||Rewrites the host and path in the HTTP request, for example, if the site is reorganized. You should not use this script as is. Instead, copy|
Allows you to overwrite client source address to a specific IP for certain clients, also support IPv4toIPv6 or IPv6toIPv4 type.
Note: Make sure the flag SOURCE ADDRESS is selected in the HTTP or HTTPS type of profile.
|SOCKOPT_COMMAND_USAGE||Allows user to customize the TCP_send buffer and TCP_receive buffer size.|
|SPECIAL_CHARACTERS_HANDLING_DEMO||Shows how to use those "magic characters" which have special meanings when used in a certain pattern. The magic characters are ( ) . % + - * ? [ ] ^ $|
|SSL_EVENTS_n_COMMANDS||Demonstrate how to fetch the SSL certificate information and some of the SSL connection parameters between server and client side.|
|TCP_EVENTS_n_COMMANDS||Demonstrate how to reject a TCP connection from a client in TCP_ACCEPTED event.|
|URL_UTILITY_COMMANDS||Demonstrate how to use those url tools to encode/decode/parser/compare .|
|UTILITY_FUNCTIONS_DEMO||Demonstrates how to use the basic string operations and random number/alphabet, time, MD5, SHA1, SHA2, BASE64, BASE32, table to string conversion, network to host conversion utility function.|