[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgGa2cfNVDXKG1IsbS_hXavEz7CYt1cR8IgW9rHoLwOk":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":49,"crawl_stats":38,"alternatives":53,"analysis":140,"fingerprints":449},"geoip-detect","Geolocation IP Detection","5.6.1","Benjamin Pick","https:\u002F\u002Fprofiles.wordpress.org\u002Fbenjaminpick\u002F","\u003Cp>Provides geographic information detected by an IP adress. This can be used in themes or other plugins, as a shortcode, or via CSS body classes. The city & country names are translated in different languages (\u003Ca href=\"https:\u002F\u002Fdev.maxmind.com\u002Fgeoip\u002Fgeoip2\u002Fweb-services\u002F#Languages-8\" rel=\"nofollow ugc\">supported languages\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You can use one of these data sources (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FFAQ#which-data-source-should-i-choose\" rel=\"nofollow ugc\">comparison\u003C\u002Fa>):\n\u003Cul>\n\u003Cli>Free (default source): \u003Ca href=\"http:\u002F\u002Fwww.hostip.info\u002F\" rel=\"nofollow ugc\">HostIP.info\u003C\u002Fa> (IPv4 only)\u003C\u002Fli>\n\u003Cli>Free with registration: \u003Ca href=\"http:\u002F\u002Fdev.maxmind.com\u002Fgeoip\u002Fgeoip2\u002Fgeolite2\u002F\" rel=\"nofollow ugc\">Maxmind GeoIP2 Lite City\u003C\u002Fa>, automatically updated weekly\u003C\u002Fli>\n\u003Cli>Commercial: \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-country-database\" rel=\"nofollow ugc\">Maxmind GeoIP2 City\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-city\" rel=\"nofollow ugc\">Maxmind GeoIP2 Country\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Commercial Web-API: \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-precision-services\" rel=\"nofollow ugc\">Maxmind GeoIP2 Precision\u003C\u002Fa> (City, Country or Insights)\u003C\u002Fli>\n\u003Cli>Hosting-Provider dependent: \u003Ca href=\"https:\u002F\u002Fsupport.cloudflare.com\u002Fhc\u002Fen-us\u002Farticles\u002F200168236-What-does-CloudFlare-IP-Geolocation-do-\" rel=\"nofollow ugc\">Cloudflare\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fenhanced-cloudfront-customization\u002F\" rel=\"nofollow ugc\">Amazon AWS CloudFront\u003C\u002Fa> (Country)\u003C\u002Fli>\n\u003Cli>Free or Commercial Web-API: \u003Ca href=\"https:\u002F\u002Fipstack.com\" rel=\"nofollow ugc\">Ipstack\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Commercial Web-API via AWS Marketplace: \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fmarketplace\u002Fpp\u002Fprodview-k5gjowexrefl2\" rel=\"nofollow ugc\">Fastah\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Provides these 5 functions (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-PHP\" rel=\"nofollow ugc\">API Documentation\u003C\u002Fa>):\n\u003Cul>\n\u003Cli>\u003Ccode>geoip_detect2_get_info_from_ip($ip, $locales = array('en'), $options = array())\u003C\u002Fcode>: Lookup Geo-Information of the specified IP\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_info_from_current_ip($locales = array('en'), $options = array())\u003C\u002Fcode>: Lookup Geo-Information of the current website user\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_current_source_description(...)\u003C\u002Fcode>: Return a human-readable label of the currently chosen source.\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_external_ip_adress()\u003C\u002Fcode>: Fetch the internet adress of the webserver\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_client_ip()\u003C\u002Fcode>: Get client IP (even if it is behind a reverse proxy)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>For the property names, see the results of a specific IP in the wordpress backend (under \u003Cem>Tools > Geolocation IP Detection\u003C\u002Fem>).\u003C\u002Fli>\n\u003Cli>You can include these properties into your posts and pages by using the shortcode \u003Ccode>[geoip_detect2 property=\"country.name\" default=\"(country could not be detected)\" lang=\"en\"]\u003C\u002Fcode> (where ‘country.name’ can be one of the other property names as well, and ‘default’ and ‘lang’ are optional).\u003C\u002Fli>\n\u003Cli>You can show or hide content by using a shortcode \u003Ccode>[geoip_detect2_show_if country=\"FR, DE\" not_city=\"Berlin\"]TEXT[\u002Fgeoip_detect2_show_if]\u003C\u002Fcode>. See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-Shortcodes#show-or-hide-content-depending-on-the-location\" rel=\"nofollow ugc\">Shortcode Documentation\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>When enabled on the options page, it adds CSS classes to the body tag such as \u003Ccode>geoip-province-HE\u003C\u002Fcode>, \u003Ccode>geoip-country-DE\u003C\u002Fcode> and \u003Ccode>geoip-continent-EU\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>If you are using a page cache, it is recommended to use the AJAX mode (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-AJAX\" rel=\"nofollow ugc\">AJAX\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>When enabled on the options page, the client IP respects a reverse proxy of the server.\u003C\u002Fli>\n\u003Cli>If you are using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7\u003C\u002Fa>, you can use these shortcodes:\n\u003Cul>\n\u003Cli>A select input with all countries, the detected country being selected by default: \u003Ccode>[geoip_detect2_countries mycountry]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>A text input that is pre-filled with the detected city (or other property): \u003Ccode>[geoip_detect2_text_input city property:city lang:fr id:id class:class default:Paris]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Geolocation information for the email text: \u003Ccode>[geoip_detect2_user_info]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>If you are using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpforms-lite\u002F\" rel=\"ugc\">WP Forms\u003C\u002Fa>, you can use this shortcode:\n\u003Cul>\n\u003Cli>Geolocation information for the email text: \u003Ccode>[geoip_detect2_user_info]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Together with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsvg-flags-lite\u002F\" rel=\"ugc\">SVG Flags\u003C\u002Fa> you can show the flag of the detected country: \u003Ccode>[geoip_detect2_current_flag]\u003C\u002Fcode> (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-Shortcodes#add-a-flag-of-the-visitors-country\" rel=\"nofollow ugc\">documentation\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> for more info.\u003C\u002Fp>\n\u003Ch4>How can I use these functions?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You could choose the currency of the store based on the country name\u003C\u002Fli>\n\u003Cli>You could pre-fill the shipping country\u003C\u002Fli>\n\u003Cli>You could show the store nearest to your customer\u003C\u002Fli>\n\u003Cli>You show or hide content specific to a geographic target group\u003C\u002Fli>\n\u003Cli>Etc. … You tell me! I’m rather curious what you’ll do with this plugin!\u003C\u002Fli>\n\u003Cli>Be careful to comply to the applicable laws. For example Regulation (EU) 2018\u002F302 …\u003C\u002Fli>\n\u003Cli>If you need to get the user’s timezone, it is more accurate to use JS solutions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>System Requirements\u003C\u002Fstrong>: You will need at least PHP 7.2.5 . Also, if you use the plugin WooCommerce, you’ll need at least WooCommerce 3.9.0 .\u003C\u002Fp>\n\u003Cp>\u003Cem>GDPR: See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FFAQ#is-this-plugin-gdpr-compliant\" rel=\"nofollow ugc\">Is this plugin GDPR-compliant?\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>This extension is “charity-ware”. If you are happy with it, please \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_s-xclick&hosted_button_id=BSYUZHS8FH3CL\" rel=\"nofollow ugc\">leave a tip\u003C\u002Fa> for the benefit of \u003Ca href=\"http:\u002F\u002Fwww.jmem-hainichen.de\u002Fhomepage\" rel=\"nofollow ugc\">this charity\u003C\u002Fa>. (See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FFAQ#what-you-mean-by-this-plugin-is-charity-ware\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa> for more infos.)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">Here are other ways to contribute to the development of this plugin.\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>This product can provide GeoLite2 data created by MaxMind, available from http:\u002F\u002Fwww.maxmind.com.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Does \u003Ccode>geoip_detect2_get_info_from_current_ip()\u003C\u002Fcode> return the same country, regardless of where you are visiting the site from? \u003C\u002Fli>\n\u003Cli>Maybe your server has a reverse proxy configured. You can check this: Go to the options page and look for “reverse proxy”. Are there 2 IPs listed there? If so, which one corresponds to your \u003Ca href=\"https:\u002F\u002Fwww.whatismyip.com\u002F\" rel=\"nofollow ugc\">public IP\u003C\u002Fa>?\u003C\u002Fli>\n\u003Cli>Or maybe you are using a site cache plugin. Then enable the option \u003Ccode>Disable caching a page that contains a shortcode or API call to geo-dependent functions.\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FTroubleshooting\" rel=\"nofollow ugc\">More Troubleshooting Hints\u003C\u002Fa>\u003C\u002Fp>\n","Provides geographic information detected by an IP adress.",20000,560277,94,59,"2025-10-29T20:59:00.000Z","6.8.5","5.0","7.2.5",[20,21,22,23,24],"geoip","geolocation","ipstack","locator","maxmind","http:\u002F\u002Fwww.yellowtree.de","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeoip-detect.5.6.1.zip",99,1,0,"2025-09-22 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2025-57993","geolocation-ip-detection-authenticated-contributor-stored-cross-site-scripting","Geolocation IP Detection \u003C= 5.5.0 - Authenticated (Contributor+) Stored Cross-Site Scripting","The Geolocation IP Detection plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 5.5.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.",null,"\u003C=5.5.0","5.6.0","medium",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-10-30 14:49:26",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fe897617c-9d26-4de8-93ce-a9b177d28bc5?source=api-prod",39,{"slug":50,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":48,"trust_score":51,"computed_at":52},"benjaminpick",87,"2026-04-04T06:06:39.642Z",[54,75,87,105,124],{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":62,"downloaded":63,"rating":62,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":72,"download_link":73,"security_score":74,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"preenchimento-automatico-cep-brasil","Preenchimento Automatico CEP Brasil","1.5","Mestres do WP","https:\u002F\u002Fprofiles.wordpress.org\u002Fmestresdowp\u002F","\u003Cp>Preenchimento automático dos campos de endereço a partir de um CEP\u003C\u002Fp>\n\u003Cp>Utilizamos os serviços tercerizados da API https:\u002F\u002Fviacep.com.br, cujo termos de uso são encontrados no link https:\u002F\u002Fviacep.com.br\u003C\u002Fp>\n","Preenchimento automático dos campos de endereço a partir de um CEP",100,3926,2,"2022-05-30T09:59:00.000Z","6.0.11","4.7","5.2.4",[20,21,70,71,23],"localizacao","location","http:\u002F\u002Fwww.mestresdowp.com.br\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpreenchimento-automatico-cep-brasil.1.5.zip",85,{"slug":76,"name":77,"version":78,"author":58,"author_profile":59,"description":79,"short_description":80,"active_installs":81,"downloaded":82,"rating":62,"num_ratings":64,"last_updated":83,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":84,"homepage":72,"download_link":85,"security_score":62,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":86},"select-estados-e-cidades-brasil","Select Estados e Cidades Brasil","1.6","\u003Cp>O Plugin Select Estados Cidades Brasil preenche automaticamente  com estados e cidades Brasileiros.\u003C\u002Fp>\n\u003Cp>Utilizamos API própria da agência https:\u002F\u002Fwww.mestresdowp.com.br\u002F, cujo termos de uso são encontrados no link https:\u002F\u002Fwww.mestresdowp.com.br\u002F\u003C\u002Fp>\n","O Plugin Select Estados Cidades Brasil preenche automaticamente  com estados e cidades Brasileiros.",50,2887,"",[20,21,70,71,23],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fselect-estados-e-cidades-brasil.1.6.zip","2026-03-15T10:48:56.248Z",{"slug":88,"name":89,"version":57,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":94,"downloaded":95,"rating":62,"num_ratings":96,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":83,"tags":100,"homepage":83,"download_link":104,"security_score":62,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"if-so-geolocation","If-So Geolocation","If-So Dynamic Content","https:\u002F\u002Fprofiles.wordpress.org\u002Fifso\u002F","\u003Cp>Create location-based content in minutes. No coding required. Works with any page builder. No need to sync an IP-to-location database.\u003C\u002Fp>\n\u003Cp>This plugin enhances the Geolocation capabilities of the core \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fif-so\u002F\" rel=\"ugc\">If-So Dynamic Content plugin\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HTML5 Geolocation API (browser location) – Can be used in addition to or instead of the IP-to-location service.\u003C\u002Fli>\n\u003Cli>Location override – Allow users to manually select their location and override the default IP-based location detection.\u003C\u002Fli>\n\u003Cli>Display the user’s country flag (image or emoji).\u003C\u002Fli>\n\u003Cli>Log geolocation requests and analyze the log to find and exclude bot traffic.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WHY IF-SO?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Show dynamic content based on City, State, Country, Continent, or Time zoneSimple to use – No coding is required\u003C\u002Fli>\n\u003Cli>Geolocation DKi\u003C\u002Fli>\n\u003Cli>No need to sync with an IP-to-location database\u003C\u002Fli>\n\u003Cli>Works with any page builder\u003C\u002Fli>\n\u003Cli>100% compatible with all caching plugins (no need to disable the cache)\u003C\u002Fli>\n\u003Cli>A simple way to improve engagement and conversion rates\u003C\u002Fli>\n\u003Cli>Conditional Gutenberg Blocks and Elementor Widgets\u003C\u002Fli>\n\u003Cli>Create location-based pop-ups\u003C\u002Fli>\n\u003Cli>Built-in stats system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>HOW IT WORKS\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Select a condition >> Set a version of content to be displayed if it is met.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>All page builder users\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create a trigger.\u003C\u002Fli>\n\u003Cli>Select a condition and set the personalized content version.\u003C\u002Fli>\n\u003Cli>Optional – create more dynamic versions and set the default content.\u003C\u002Fli>\n\u003Cli>Paste the shortcode wherever you want to display the content.\u003Cbr \u002F>\nWhenever a page with the shortcode is loaded, one of the content versions will be displayed accordingly.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fhelp\u002Fdocumentation\u002Fhow-to-create-dynamic-content-trigger\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=dynamic-trigger\" rel=\"nofollow ugc\">Learn more >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Gutenberg and Elementor users\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Select the block or element.\u003C\u002Fli>\n\u003Cli>On the side menu, select the condition to display the block\u002Felement.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Felementor-personalization\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=elementor\" rel=\"nofollow ugc\"> – More about conditional  Elementor Elements >>\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fconditional-gutenberg-blocks\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=gutenberg\" rel=\"nofollow ugc\"> – More about conditional  Gutenberg Blocks >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>HTML5 Geolocation API (browser location)\u003C\u002Fh3>\n\u003Cp>The Geolocation API-based content option is an alternative method for presenting location-specific content. This approach is significantly more accurate in determining the user’s location compared to the IP-to-location method (which is not crucial at the country and state level, but might be significant at the city level).\u003C\u002Fp>\n\u003Cp>The drawback of this approach is that it necessitates the user’s consent to share their location.\u003C\u002Fp>\n\u003Cp>The HTML5 Geolocation API method can be used in addition to or instead of the IP-to-location service.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fthe-html-geolocation-api\u002F?utm_source=WordPress&utm_medium=Readme&utm_campaign=v2&utm_term=html5_api\" rel=\"nofollow ugc\">– More about the HTML5 Geolocation API.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>LOCATION OVERRIDE (MANUAL USER LOCATION SELECTION)\u003C\u002Fh3>\n\u003Cp>With the manual user location selection option, users can override the location detected by our IP-to-location service and manually select a different location. This allows for dynamic content to be displayed based on the user’s chosen location.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fdynamic-select-form\u002Fmanual-user-location-selection\u002F\" rel=\"nofollow ugc\"> – More about the Location Override option >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>LOG GEOLOCATION REQUESTS\u003C\u002Fh3>\n\u003Cp>Track bots that visit your site and exhaust your session quota. Log the geolocation requests to identify their IPs, analyze them,  and chose if you want to block them from the geolocation service.\u003C\u002Fp>\n\u003Cp>Although the site will remain open to visits from the blocked IPs, the geolocation service will be disabled for them and default content will be displayed instead of the location-based version.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Ffaq-items\u002Fthe-geolocation-session-count-doesnt-seem-to-behave-as-expected\u002F\" rel=\"nofollow ugc\"> – More about logging geolocation requests >>\u003C\u002Fa>\u003Cbr \u002F>\n……………………………………………………………\u003C\u002Fp>\n\u003Ch3>Use cases and examples\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Display the user’s country flag\u003C\u002Fli>\n\u003Cli>Highlight different products in specific locations\u003C\u002Fli>\n\u003Cli>Show reviews in the visitor’s language\u003C\u002Fli>\n\u003Cli>Display the time of an event in the user’s time zone (auto-local time display)\u003C\u002Fli>\n\u003Cli>Set up a conditional redirect\u003C\u002Fli>\n\u003Cli>Redirect all .com pages to corresponding pages on the local version of the site\u003C\u002Fli>\n\u003Cli>Allow users to manually set their location (location override)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fdynamic-content\u002Fexamples\u002F?category_filter%5B%5D=%7B%22cat%22%3A564%2C%22subcat%22%3A565%7D&category_filter%5B%5D=%7B%22cat%22%3A517%2C%22subcat%22%3A518%7D&apply_filter=\" rel=\"nofollow ugc\">More usage examples >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>Built-in stats\u003C\u002Fh3>\n\u003Cp>Get clear insights into your content performance! See real-time results with a built-in analytics system, like how many times each version was displayed and how it affected the conversion rate.\u003C\u002Fp>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>DYNAMIC KEYWORD INSERTION (DKI)\u003C\u002Fh3>\n\u003Cp>The Dynamic Keyword Insertion (DKI) option allows you to display values using shortcodes:\u003Cbr \u002F>\nDisplaying the user’s country:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Insert the user’s country:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='country' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s state:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='state' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s city:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='city' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s continent:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='continent' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s time zone:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='timezone' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s country flag (image):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI ajax='yes' type='geo' show='flag' width='50px']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s country flag (emoji):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='emoji-flag']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fgeolocation-dki\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=geo-dki\" rel=\"nofollow ugc\">More Geolocation DKI shortcode options >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The Auto-Local Time Display shortcode\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay the event time auto-adjusted to the user’s time zone.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='time' show='user-geo-timezone-sensitive' time='04\u002F25\u002F2024 08:00' format='n\u002Fj\u002Fo, G:i']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fauto-local-time-display\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=local-time-display-dki\" rel=\"nofollow ugc\">More about the Auto-Local Time Display Shortcode >>\u003C\u002Fa>\u003C\u002Fp>\n","All-in-one geolocation. Personalized content, geolocation Dynamic Keyword Insertion shortcodes, Rediects, and more. No coding required!",1000,20240,4,"2025-12-11T21:50:00.000Z","6.9.4","4.0.1",[20,21,101,102,103],"geolocation-redirect","geotargeting","location-based-content","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fif-so-geolocation.1.5.zip",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":62,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":68,"tags":119,"homepage":122,"download_link":123,"security_score":74,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"wp-cloudflare-geoip-redirect","WP Cloudflare GeoIP Redirect","1.4","webinvaders","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebinvaders\u002F","\u003Cp>WP Cloudflare GeoIP Redirect plugin enables you to setup redirect for users from selected countries to specific URL.\u003C\u002Fp>\n\u003Cp>Geolocation is done using Cloudflare IP Geolocation data.\u003C\u002Fp>\n\u003Cp>Redirection is done using the php header() function and you can choose Temporary Redirect (307) or Moved Permanently (301).\u003C\u002Fp>\n\u003Cp>In order to use this plugin you need to setup Cloudflare for your website and enable Cloudflare IP Geolocation service. More info in FAQ.\u003C\u002Fp>\n","Easily setup redirect for visitors\u002Fusers from selected countries to specific URL utilizing Cloudflare IP Geolocation.",5619,86,6,"2021-04-22T21:22:00.000Z","5.7.15","4.6",[120,20,21,121],"cloudflare","redirect","https:\u002F\u002Fwebinvade.rs\u002Fwordpress-plugins\u002Fwp-cloudflare-geoip-redirect\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-cloudflare-geoip-redirect.zip",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":29,"downloaded":132,"rating":29,"num_ratings":29,"last_updated":83,"tested_up_to":133,"requires_at_least":17,"requires_php":134,"tags":135,"homepage":83,"download_link":139,"security_score":62,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":86},"dm-visitor-location-notification","DM Visitor Location Notification","1.0.0","George-Paul Crețu","https:\u002F\u002Fprofiles.wordpress.org\u002Fnecroob\u002F","\u003Cp>The plugin uses \u003Cstrong>ipstack.com\u003C\u002Fstrong> to get visitors details based on IP.\u003Cbr \u002F>\n\u003Cem>You will need an API key from ipstack.com in order for it to work.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>After activation you can use the shortcode \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> on the page where you want to show the notifications.\u003C\u002Fp>\n\u003Cp>Potential usage for:\u003Cbr \u002F>\n– podcast sites\u003Cbr \u002F>\n– video libraries\u003Cbr \u002F>\n– shops\u003Cbr \u002F>\n– publications\u003C\u002Fp>\n\u003Cp>Using this shortcode on your site will allow other visitors to get a sense of the engagement your pages get.\u003C\u002Fp>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>Two shortcodes are available for use:\u003Cbr \u002F>\n– \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> – this one will check the visitor details, create\u002Fupdate the records and show the notification message.\u003Cbr \u002F>\n– \u003Ccode>[dm-vln-top-countries]\u003C\u002Fcode> – this one will show the top 10 countries that visited the page (only unique IPs will be counted).\u003C\u002Fp>\n\u003Cp>The \u003Ccode>[dm-vln-top-countries]\u003C\u002Fcode> can’t provide correct data if \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> was not added to that page at one point.\u003Cbr \u002F>\nSince \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> does the whole operation regarding visitor data display, save and update.\u003C\u002Fp>\n\u003Ch4>Settings\u003C\u002Fh4>\n\u003Cp>Dashboard page provides you with a number of options:\u003Cbr \u002F>\n– Adding API Key\u003Cbr \u002F>\n– Choose the position of the notification\u003Cbr \u002F>\n– Style the color scheme for the notification\u003Cbr \u002F>\n– Add Custom notification message for single and multiple users\u003Cbr \u002F>\n– Adjust the Notification display time\u003Cbr \u002F>\n– Adjust the Frequency of the Ajax call\u003Cbr \u002F>\n– Set the seconds for with to check the DB (based on NOW – seconds we decide what users are new\u002Fonline)\u003Cbr \u002F>\n– Pause the API Request\u003Cbr \u002F>\n– Select a date and delete DB records previous to that\u003C\u002Fp>\n\u003Ch4>Custom notification message\u003C\u002Fh4>\n\u003Cp>Custom notification messages can be adjusted using dynamic variables.\u003Cbr \u002F>\nFor Single visitor you have:\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_country%\u003C\u002Fcode> – displays the country with the flag\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_city%\u003C\u002Fcode> – displays the city (it is not 100% accurate).\u003C\u002Fp>\n\u003Cp>For Multiple visitors you have:\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_visitor_number%\u003C\u002Fcode> – shows the number of visitors\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_countries%\u003C\u002Fcode> – displays list of country codes\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_flags%\u003C\u002Fcode> – displays list of flags instead of country codes\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_country_flags%\u003C\u002Fcode> – displays list of country codes associated with the flag.\u003C\u002Fp>\n\u003Cp>You should only use one of the \u003Ccode>%dm_vln_countries%\u003C\u002Fcode>, \u003Ccode>%dm_vln_flags%\u003C\u002Fcode>, \u003Ccode>%dm_vln_country_flags%\u003C\u002Fcode> or it will show you duplicate data.\u003C\u002Fp>\n\u003Cp>In all custom message you can use HTML tags.\u003C\u002Fp>\n","DM VLN allows you to display notifications when new visitors access the page with location details and stats with top 10 countries for that page.",1029,"5.4.19","7.2",[136,20,21,137,138],"country","notification","visits","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdm-visitor-location-notification.zip",{"attackSurface":141,"codeSignals":324,"taintFlows":393,"riskAssessment":441,"analyzedAt":448},{"hooks":142,"ajaxHandlers":255,"restRoutes":264,"shortcodes":265,"cronEvents":317,"entryPointCount":323,"unprotectedCount":64},[143,149,154,157,162,166,170,172,178,181,186,191,196,199,204,207,209,213,216,219,223,226,229,234,239,244,247,251],{"type":144,"name":145,"callback":146,"file":147,"line":148},"action","admin_menu","geoip_detect_menu","admin-ui.php",32,{"type":144,"name":150,"callback":151,"file":152,"line":153},"wp_enqueue_scripts","closure","ajax.php",111,{"type":144,"name":150,"callback":155,"file":152,"line":156},"_geoip_detect_register_javascript",151,{"type":144,"name":158,"callback":159,"file":160,"line":161},"all_admin_notices","admin_notice","check_compatibility.php",109,{"type":144,"name":163,"callback":164,"priority":62,"file":160,"line":165},"plugins_loaded","anonymous",129,{"type":144,"name":158,"callback":167,"file":168,"line":169},"geoip_detect_version_minimum_requirements_notice","check_requirements.php",48,{"type":144,"name":158,"callback":171,"file":168,"line":114},"geoip_detect_version_minimum_requirements_notice_woocommerce",{"type":144,"name":173,"callback":174,"priority":175,"file":176,"line":177},"geoipdetectupdate","hook_cron",10,"data-sources\\auto.php",107,{"type":144,"name":163,"callback":179,"file":176,"line":180},"on_plugins_loaded",108,{"type":182,"name":183,"callback":151,"file":184,"line":185},"filter","geoip_detect_source_get_status_HTML_maxmind","data-sources\\manual.php",286,{"type":182,"name":187,"callback":188,"file":189,"line":190},"body_class","geoip_detect2_add_body_classes_if_needed","filter.php",27,{"type":182,"name":192,"callback":193,"priority":194,"file":189,"line":195},"geoip_detect2_locales","geoip_detect2_convert_locale_format",7,68,{"type":182,"name":192,"callback":197,"file":189,"line":198},"geoip_detect2_add_default_locales",96,{"type":182,"name":200,"callback":201,"file":202,"line":203},"geoip_detect2_record_data","_geoip_detect2_try_to_fix_timezone","geoip-detect-lib.php",276,{"type":182,"name":200,"callback":205,"file":202,"line":206},"_geoip_detect2_add_geonames_data",306,{"type":144,"name":163,"callback":151,"file":208,"line":14},"geoip-detect.php",{"type":144,"name":163,"callback":210,"priority":28,"file":211,"line":212},"geoip_detect_defines","init.php",28,{"type":144,"name":158,"callback":214,"file":211,"line":215},"geoip_detect_admin_notice_database_missing",57,{"type":144,"name":158,"callback":217,"file":211,"line":218},"geoip_detect_admin_notice_license_id_missing",67,{"type":144,"name":220,"callback":221,"file":211,"line":222},"admin_init","geoip_detect_enqueue_admin_notices",71,{"type":144,"name":220,"callback":224,"file":211,"line":225},"geoip_detect_dismiss_message",167,{"type":144,"name":220,"callback":227,"file":211,"line":228},"geoip_detect_add_privacy_policy_content",201,{"type":144,"name":230,"callback":231,"file":232,"line":233},"wpcf7_init","geoip_detect2_add_wpcf7_shortcodes","shortcodes\\cf7.php",5,{"type":182,"name":235,"callback":236,"priority":237,"file":232,"line":238},"wpcf7_special_mail_tags","geoip_detect2_shortcode_user_info_wpcf7",18,218,{"type":182,"name":240,"callback":241,"priority":175,"file":242,"line":243},"wpforms_smart_tags","geoip_detect2_shortcode_register_smarttag","shortcodes\\wpforms.php",19,{"type":182,"name":245,"callback":246,"priority":175,"file":242,"line":48},"wpforms_smart_tag_process","geoip_detect2_shortcode_process_smarttag",{"type":144,"name":173,"callback":248,"priority":175,"file":249,"line":250},"geoip_detect_update_cron","updater.php",64,{"type":144,"name":163,"callback":252,"file":253,"line":254},"geoip_detect_maybe_upgrade_version","upgrade-plugin.php",117,[256,261],{"action":257,"nopriv":258,"callback":259,"hasNonce":258,"hasCapCheck":258,"file":152,"line":260},"geoip_detect2_get_info_from_current_ip",false,"geoip_detect_ajax_get_info_from_current_ip",73,{"action":257,"nopriv":262,"callback":259,"hasNonce":258,"hasCapCheck":258,"file":152,"line":263},true,74,[],[266,271,276,279,283,288,292,295,298,301,306,309,314],{"tag":267,"callback":268,"file":269,"line":270},"geoip_detect2_current_flag","geoip_detect2_shortcode_current_flag","shortcodes\\flags.php",102,{"tag":272,"callback":273,"file":274,"line":275},"geoip_detect2_text_input","geoip_detect2_shortcode_text_input","shortcodes\\input.php",82,{"tag":277,"callback":273,"file":274,"line":278},"geoip_detect2_input",83,{"tag":280,"callback":281,"file":282,"line":13},"geoip_detect2","geoip_detect2_shortcode","shortcodes\\main.php",{"tag":284,"callback":285,"file":286,"line":287},"geoip_detect2_get_client_ip","geoip_detect2_shortcode_client_ip","shortcodes\\other.php",44,{"tag":289,"callback":290,"file":286,"line":291},"geoip_detect2_get_external_ip_adress","geoip_detect2_shortcode_get_external_ip_adress",52,{"tag":293,"callback":294,"file":286,"line":14},"geoip_detect2_get_current_source_description","geoip_detect2_shortcode_get_current_source_description",{"tag":296,"callback":297,"file":286,"line":195},"geoip_detect2_user_info","geoip_detect_shortcode_user_info",{"tag":299,"callback":300,"file":286,"line":263},"geoip_detect2_enqueue_javascript","geoip_detect2_shortcode_enqueue_javascript",{"tag":302,"callback":303,"file":304,"line":305},"geoip_detect2_countries_select","geoip_detect2_shortcode_country_select","shortcodes\\select.php",173,{"tag":307,"callback":303,"file":304,"line":308},"geoip_detect2_countries",174,{"tag":310,"callback":311,"file":312,"line":313},"geoip_detect2_show_if","geoip_detect2_shortcode_show_if","shortcodes\\show_if.php",126,{"tag":315,"callback":311,"file":312,"line":316},"geoip_detect2_hide_if",127,[318,320,321],{"hook":173,"callback":173,"file":176,"line":319},314,{"hook":173,"callback":173,"file":249,"line":263},{"hook":173,"callback":173,"file":249,"line":322},80,15,{"dangerousFunctions":325,"sqlUsage":326,"outputEscaping":331,"fileOperations":390,"externalRequests":391,"nonceChecks":28,"capabilityChecks":115,"bundledLibraries":392},[],{"prepared":29,"raw":28,"locations":327},[328],{"file":202,"line":329,"context":330},168,"$wpdb->query() with variable interpolation",{"escaped":332,"rawEcho":333,"locations":334},90,31,[335,338,340,342,344,345,346,347,349,351,352,354,357,359,360,361,363,365,367,369,371,373,375,377,380,381,383,384,385,386,388],{"file":168,"line":336,"context":337},62,"raw output",{"file":211,"line":339,"context":337},89,{"file":211,"line":341,"context":337},91,{"file":343,"line":233,"context":337},"views\\client-ip.php",{"file":343,"line":175,"context":337},{"file":343,"line":212,"context":337},{"file":343,"line":148,"context":337},{"file":343,"line":348,"context":337},34,{"file":343,"line":350,"context":337},61,{"file":343,"line":336,"context":337},{"file":343,"line":353,"context":337},75,{"file":355,"line":356,"context":337},"views\\lookup.php",47,{"file":355,"line":358,"context":337},60,{"file":355,"line":195,"context":337},{"file":355,"line":263,"context":337},{"file":355,"line":362,"context":337},128,{"file":355,"line":364,"context":337},130,{"file":355,"line":366,"context":337},131,{"file":355,"line":368,"context":337},133,{"file":355,"line":370,"context":337},134,{"file":355,"line":372,"context":337},149,{"file":355,"line":374,"context":337},260,{"file":355,"line":376,"context":337},307,{"file":378,"line":379,"context":337},"views\\options.php",11,{"file":378,"line":148,"context":337},{"file":378,"line":382,"context":337},40,{"file":378,"line":215,"context":337},{"file":378,"line":215,"context":337},{"file":378,"line":14,"context":337},{"file":378,"line":387,"context":337},154,{"file":389,"line":390,"context":337},"views\\plugin_page.php",9,3,[],[394,412,420,431],{"entryPoint":395,"graph":396,"unsanitizedCount":29,"severity":411},"geoip_detect_option_page (admin-ui.php:135)",{"nodes":397,"edges":409},[398,403],{"id":399,"type":400,"label":401,"file":147,"line":402},"n0","source","$_POST",222,{"id":404,"type":405,"label":406,"file":147,"line":407,"wp_function":408},"n1","sink","update_option() [Settings Manipulation]",229,"update_option",[410],{"from":399,"to":404,"sanitized":262},"low",{"entryPoint":413,"graph":414,"unsanitizedCount":29,"severity":411},"\u003Cadmin-ui> (admin-ui.php:0)",{"nodes":415,"edges":418},[416,417],{"id":399,"type":400,"label":401,"file":147,"line":402},{"id":404,"type":405,"label":406,"file":147,"line":407,"wp_function":408},[419],{"from":399,"to":404,"sanitized":262},{"entryPoint":421,"graph":422,"unsanitizedCount":29,"severity":411},"\u003Cclient-ip> (views\\client-ip.php:0)",{"nodes":423,"edges":429},[424,426],{"id":399,"type":400,"label":425,"file":343,"line":48},"$_SERVER['REMOTE_ADDR']",{"id":404,"type":405,"label":427,"file":343,"line":48,"wp_function":428},"echo() [XSS]","echo",[430],{"from":399,"to":404,"sanitized":262},{"entryPoint":432,"graph":433,"unsanitizedCount":29,"severity":411},"\u003Clookup> (views\\lookup.php:0)",{"nodes":434,"edges":439},[435,437],{"id":399,"type":400,"label":401,"file":355,"line":436},162,{"id":404,"type":405,"label":427,"file":355,"line":438,"wp_function":428},261,[440],{"from":399,"to":404,"sanitized":262},{"summary":442,"deductions":443},"The geoip-detect plugin v5.6.1 presents a mixed security posture.  While it demonstrates good practices in several areas, such as the absence of critical or high-severity taint flows and a low percentage of improperly escaped outputs, there are notable concerns.  The presence of unprotected AJAX handlers is a significant risk, as it allows unauthenticated access to plugin functionality, potentially leading to vulnerabilities if not properly secured.  Furthermore, the plugin utilizes raw SQL queries without prepared statements, which can expose it to SQL injection risks. The vulnerability history, particularly a past medium-severity Cross-Site Scripting (XSS) vulnerability, suggests that input sanitization and output escaping, while generally good, might not be consistently applied across all potential attack vectors.  The plugin's overall security is adequate but requires attention to its unprotected entry points and raw SQL usage to mitigate known risks and prevent future exploits.",[444,446],{"reason":445,"points":175},"Unprotected AJAX handlers",{"reason":447,"points":233},"Raw SQL queries without prepared statements","2026-03-16T17:33:46.823Z",{"wat":450,"direct":463},{"assetPaths":451,"generatorPatterns":456,"scriptPaths":457,"versionParams":458},[452,453,454,455],"\u002Fwp-content\u002Fplugins\u002Fgeoip-detect\u002Fdist\u002Fjs\u002Fbase.min.js","\u002Fwp-content\u002Fplugins\u002Fgeoip-detect\u002Fdist\u002Fjs\u002Fminimal.min.js","\u002Fwp-content\u002Fplugins\u002Fgeoip-detect\u002Fdist\u002Fjs\u002Ffull.min.js","\u002Fwp-content\u002Fplugins\u002Fgeoip-detect\u002Fdist\u002Fcss\u002Fgeoip-detect.min.css",[],[452,453,454],[459,460,461,462],"geoip-detect\u002Fdist\u002Fcss\u002Fgeoip-detect.min.css?ver=","geoip-detect\u002Fdist\u002Fjs\u002Fbase.min.js?ver=","geoip-detect\u002Fdist\u002Fjs\u002Fminimal.min.js?ver=","geoip-detect\u002Fdist\u002Fjs\u002Ffull.min.js?ver=",{"cssClasses":464,"htmlComments":528,"htmlAttributes":590,"restEndpoints":653,"jsGlobals":655,"shortcodeOutput":658},[465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,491,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,491,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524],"geoip-detect-country-","geoip-detect-region-","geoip-detect-city-","geoip-detect-country-name-","geoip-detect-region-name-","geoip-detect-city-name-","geoip-detect-continent-code-","geoip-detect-continent-name-","geoip-detect-state-code-","geoip-detect-state-name-","geoip-detect-postal-code-","geoip-detect-subdivision-code-","geoip-detect-subdivision-name-","geoip-detect-time-zone-","geoip-detect-country-iso-code-","geoip-detect-country-iso-code-3-","geoip-detect-country-currency-","geoip-detect-country-phone-code-","geoip-detect-country-capital-","geoip-detect-country-population-","geoip-detect-country-continent-","geoip-detect-country-wikipedia-url-","geoip-detect-country-native-name-","geoip-detect-country-languages-","geoip-detect-country-fips-code-","geoip-detect-country-north-american-bean-talk-code-","geoip-detect-country-continent-code-","geoip-detect-country-currency-name-","geoip-detect-country-currency-symbol-","geoip-detect-country-emoji-flag-","geoip-detect-country-has-cash-only-currency-","geoip-detect-country-iso-alpha-2-","geoip-detect-country-iso-alpha-3-","geoip-detect-country-iso-numeric-","geoip-detect-country-calling-code-","geoip-detect-country-tld-","geoip-detect-country-national-destination-code-lengths-","geoip-detect-country-national-number-lengths-","geoip-detect-country-organization-","geoip-detect-country-country-code-","geoip-detect-country-country-code-3-","geoip-detect-country-country-name-","geoip-detect-country-country-name-native-","geoip-detect-country-continent-name-","geoip-detect-country-region-","geoip-detect-country-region-name-","geoip-detect-country-city-","geoip-detect-country-city-name-","geoip-detect-country-postal-code-","geoip-detect-country-metro-code-","geoip-detect-country-area-code-","geoip-detect-country-latitude-","geoip-detect-country-longitude-","geoip-detect-country-time-zone-","geoip-detect-country-elevation-","geoip-detect-country-accuracy-radius-","geoip-detect-country-country-confidence-","geoip-detect-country-city-confidence-","geoip-detect-country-postal-code-confidence-","geoip-detect-country-region-confidence-","geoip-detect-country-user-count-","geoip-detect-country-country-iso-code-","geoip-detect-country-country-iso-code-3-",[529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,555,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,555,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589],"\u003C!-- geoip-detect: If the country is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the region is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the city is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the region name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the city name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the continent code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the continent name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the state code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the state name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the postal code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the subdivision code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the subdivision name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the time zone is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country ISO code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country ISO code 3 is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country currency is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country phone code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country capital is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country population is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country continent is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country Wikipedia URL is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country native name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country languages is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country FIPS code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country North American Bean Talk code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country continent code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country currency name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country currency symbol is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country emoji flag is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country has cash only currency is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country ISO alpha 2 is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country ISO alpha 3 is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country ISO numeric is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country calling code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country TLD is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country national destination code lengths is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country national number lengths is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country organization is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country country code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country country code 3 is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country country name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country country name native is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country continent name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country region is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country region name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country city is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country city name is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country postal code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country metro code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country area code is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country latitude is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country longitude is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country time zone is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country elevation is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country accuracy radius is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country country confidence is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country city confidence is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country postal code confidence is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country region confidence is not detectable, you can decide how to proceed. Default: false -->","\u003C!-- geoip-detect: If the country user count is not detectable, you can decide how to proceed. Default: false -->",[591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,618,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652],"data-geoip-detect-","geoip-detect-country","geoip-detect-region","geoip-detect-city","geoip-detect-country-name","geoip-detect-region-name","geoip-detect-city-name","geoip-detect-continent-code","geoip-detect-continent-name","geoip-detect-state-code","geoip-detect-state-name","geoip-detect-postal-code","geoip-detect-subdivision-code","geoip-detect-subdivision-name","geoip-detect-time-zone","geoip-detect-country-iso-code","geoip-detect-country-iso-code-3","geoip-detect-country-currency","geoip-detect-country-phone-code","geoip-detect-country-capital","geoip-detect-country-population","geoip-detect-country-continent","geoip-detect-country-wikipedia-url","geoip-detect-country-native-name","geoip-detect-country-languages","geoip-detect-country-fips-code","geoip-detect-country-north-american-bean-talk-code","geoip-detect-country-continent-code","geoip-detect-country-currency-name","geoip-detect-country-currency-symbol","geoip-detect-country-emoji-flag","geoip-detect-country-has-cash-only-currency","geoip-detect-country-iso-alpha-2","geoip-detect-country-iso-alpha-3","geoip-detect-country-iso-numeric","geoip-detect-country-calling-code","geoip-detect-country-tld","geoip-detect-country-national-destination-code-lengths","geoip-detect-country-national-number-lengths","geoip-detect-country-organization","geoip-detect-country-country-code","geoip-detect-country-country-code-3","geoip-detect-country-country-name","geoip-detect-country-country-name-native","geoip-detect-country-continent-name","geoip-detect-country-region","geoip-detect-country-region-name","geoip-detect-country-city","geoip-detect-country-city-name","geoip-detect-country-postal-code","geoip-detect-country-metro-code","geoip-detect-country-area-code","geoip-detect-country-latitude","geoip-detect-country-longitude","geoip-detect-country-time-zone","geoip-detect-country-elevation","geoip-detect-country-accuracy-radius","geoip-detect-country-country-confidence","geoip-detect-country-city-confidence","geoip-detect-country-postal-code-confidence","geoip-detect-country-region-confidence","geoip-detect-country-user-count",[654],"\u002Fwp-json\u002Fgeoip-detect\u002Fv1\u002Finfo",[656,657],"geoip_detect_base","geoip_detect_full",[659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,686,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720],"[geoip_detect","geoip_detect_country","geoip_detect_region","geoip_detect_city","geoip_detect_country_name","geoip_detect_region_name","geoip_detect_city_name","geoip_detect_continent_code","geoip_detect_continent_name","geoip_detect_state_code","geoip_detect_state_name","geoip_detect_postal_code","geoip_detect_subdivision_code","geoip_detect_subdivision_name","geoip_detect_time_zone","geoip_detect_country_iso_code","geoip_detect_country_iso_code_3","geoip_detect_country_currency","geoip_detect_country_phone_code","geoip_detect_country_capital","geoip_detect_country_population","geoip_detect_country_continent","geoip_detect_country_wikipedia_url","geoip_detect_country_native_name","geoip_detect_country_languages","geoip_detect_country_fips_code","geoip_detect_country_north_american_bean_talk_code","geoip_detect_country_continent_code","geoip_detect_country_currency_name","geoip_detect_country_currency_symbol","geoip_detect_country_emoji_flag","geoip_detect_country_has_cash_only_currency","geoip_detect_country_iso_alpha_2","geoip_detect_country_iso_alpha_3","geoip_detect_country_iso_numeric","geoip_detect_country_calling_code","geoip_detect_country_tld","geoip_detect_country_national_destination_code_lengths","geoip_detect_country_national_number_lengths","geoip_detect_country_organization","geoip_detect_country_country_code","geoip_detect_country_country_code_3","geoip_detect_country_country_name","geoip_detect_country_country_name_native","geoip_detect_country_continent_name","geoip_detect_country_region","geoip_detect_country_region_name","geoip_detect_country_city","geoip_detect_country_city_name","geoip_detect_country_postal_code","geoip_detect_country_metro_code","geoip_detect_country_area_code","geoip_detect_country_latitude","geoip_detect_country_longitude","geoip_detect_country_time_zone","geoip_detect_country_elevation","geoip_detect_country_accuracy_radius","geoip_detect_country_country_confidence","geoip_detect_country_city_confidence","geoip_detect_country_postal_code_confidence","geoip_detect_country_region_confidence","geoip_detect_country_user_count"]