Current Path: > home > codekrsu > > ameliagraphics.com > wp-content > plugins > > forminator > library
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
abstracts | Directory | - | - | |
addon | Directory | - | - | |
calculator | Directory | - | - | |
external | Directory | - | - | |
field-autofill-providers | Directory | - | - | |
fields | Directory | - | - | |
gateways | Directory | - | - | |
helpers | Directory | - | - | |
lib | Directory | - | - | |
mixpanel | Directory | - | - | |
model | Directory | - | - | |
modules | Directory | - | - | |
protection | Directory | - | - | |
render | Directory | - | - | |
class-api.php | File | 55565 bytes | March 03 2025 16:08:12. | |
class-autofill-loader.php | File | 6973 bytes | September 02 2024 15:32:28. | |
class-captcha-verification.php | File | 3739 bytes | April 14 2025 14:55:34. | |
class-core.php | File | 24198 bytes | May 19 2025 19:14:58. | |
class-database-tables.php | File | 5302 bytes | September 02 2024 15:32:28. | |
class-export-result.php | File | 2628 bytes | September 02 2024 15:32:28. | |
class-export.php | File | 62263 bytes | March 17 2025 17:29:02. | |
class-form-fields.php | File | 5115 bytes | February 03 2025 17:11:02. | |
class-forminator-hub-connector.php | File | 9488 bytes | July 14 2025 15:42:34. | |
class-geo.php | File | 4487 bytes | September 02 2024 15:32:28. | |
class-integration-loader.php | File | 19792 bytes | February 03 2025 17:11:02. | |
class-loader.php | File | 2597 bytes | February 03 2025 17:11:02. | |
class-migration.php | File | 29191 bytes | December 24 2024 20:31:58. | |
class-modules.php | File | 2028 bytes | September 02 2024 15:32:28. | |
class-page-cache.php | File | 8242 bytes | September 02 2024 15:32:28. | |
class-protection.php | File | 1059 bytes | September 02 2024 15:32:28. | |
class-reports.php | File | 7366 bytes | February 03 2025 17:11:02. | |
class-shortcode-generator.php | File | 16820 bytes | November 25 2024 21:22:22. | |
class-template-api.php | File | 7716 bytes | March 03 2025 16:08:12. | |
class-upgrade.php | File | 1535 bytes | February 03 2025 17:11:02. |
<?php /** * Forminator Geo * * @package Forminator */ if ( ! defined( 'ABSPATH' ) ) { die(); } /** * Class Forminator_Geo * * Handle geo-location data * * @since 1.0 */ class Forminator_Geo { /** * Validates that the IP that made the request is from cloudflare * * @since 1.0 * @param string $ip - the ip to check. * * @return bool */ private static function validate_cloudflare_ip( $ip ) { $cloudflare_ips = array( '199.27.128.0/21', '173.245.48.0/20', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '141.101.64.0/18', '108.162.192.0/18', '190.93.240.0/20', '188.114.96.0/20', '197.234.240.0/22', '198.41.128.0/17', '162.158.0.0/15', '104.16.0.0/12', ); $is_cf_ip = false; foreach ( $cloudflare_ips as $cloudflare_ip ) { if ( self::cloudflare_ip_in_range( $ip, $cloudflare_ip ) ) { $is_cf_ip = true; break; } } return $is_cf_ip; } /** * Check if the cloudflare IP is in range * * @since 1.0 * @param string $ip - the current IP. * @param string $range - the allowed range of cloudflare ips. * * @return bool */ private static function cloudflare_ip_in_range( $ip, $range ) { if ( strpos( $range, '/' ) === false ) { $range .= '/32'; } // $range is in IP/CIDR format eg 127.0.0.1/24. list( $range, $netmask ) = explode( '/', $range, 2 ); $range_decimal = ip2long( $range ); $ip_decimal = ip2long( $ip ); $wildcard_decimal = pow( 2, ( 32 - $netmask ) ) - 1; $netmask_decimal = ~$wildcard_decimal; return ( ( $ip_decimal & $netmask_decimal ) === ( $range_decimal & $netmask_decimal ) ); } /** * Check if there are any cloudflare headers in the request * * @since 1.0 * @return bool */ private static function cloudflare_requests_check() { $flag = true; if ( ! isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) ) { $flag = false; } if ( ! isset( $_SERVER['HTTP_CF_IPCOUNTRY'] ) ) { $flag = false; } if ( ! isset( $_SERVER['HTTP_CF_RAY'] ) ) { $flag = false; } if ( ! isset( $_SERVER['HTTP_CF_VISITOR'] ) ) { $flag = false; } return $flag; } /** * Check if the request is from cloudflare. If it is, we get the IP * * @since 1.0 * @return bool */ private static function is_cloudflare() { $ip = ''; if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) { $ip = sanitize_text_field( wp_unslash( $_SERVER['HTTP_CLIENT_IP'] ) ); } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $ip = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ); } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { $ip = sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); } if ( ! empty( $ip ) ) { $request_check = self::cloudflare_requests_check(); if ( ! $request_check ) { return false; } $ip_check = self::validate_cloudflare_ip( $ip ); return $ip_check; } return false; } /** * A shorhand function to get user IP * * @since 1.0 * @return mixed|string */ public static function get_user_ip() { $client = isset( $_SERVER['HTTP_CLIENT_IP'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_CLIENT_IP'] ) ) : null; $forward = isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) : null; $is_cf = self::is_cloudflare(); // Check if request is from CloudFlare. if ( $is_cf ) { $cf_ip = isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_CF_CONNECTING_IP'] ) ) : null; // We already make sure this is set in the checks. if ( filter_var( $cf_ip, FILTER_VALIDATE_IP ) ) { return apply_filters( 'forminator_user_ip', $cf_ip ); } } else { $remote = isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : null; } $client_real = isset( $_SERVER['HTTP_X_REAL_IP'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ) : null; $user_ip = $remote; if ( filter_var( $client, FILTER_VALIDATE_IP ) ) { $user_ip = $client; } elseif ( filter_var( $client_real, FILTER_VALIDATE_IP ) ) { $user_ip = $client_real; } elseif ( ! empty( $forward ) ) { $forward = explode( ',', $forward ); $ip = array_shift( $forward ); $ip = trim( $ip ); if ( filter_var( $ip, FILTER_VALIDATE_IP ) ) { $user_ip = $ip; } } return apply_filters( 'forminator_user_ip', $user_ip ); } }
SILENT KILLER Tool