[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5lKwSzcUlJ1ueYxPEh3BDXV4pIsDK-2zZwRrzrDqm3M":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":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":37,"analysis":76,"fingerprints":150},"worldtides-widget","Worldtides Widget","1.3.0","bryanaamot","https:\u002F\u002Fprofiles.wordpress.org\u002Fbryanaamot\u002F","\u003Cp>This widget is perfect for anyone who wants accurate, low-cost tide predictions on their website. WorldTides.info provides tide predictions at consumer-level prices. Globally, WorldTides.info is the leading provider of tide predictions through an API.\u003C\u002Fp>\n\u003Ch4>API Key\u003C\u002Fh4>\n\u003Cp>You can get an API Key from worldtides.info and use it for one month (100 credits) for free. Because it is optimized, it only requires two credits per one-day or 7-day prediction. Use your 100 free credits wisely because you’ll only get 50 predictions. After that, you can buy 10,000 credits (5,000 predictions) for $10; using more credits reduces the cost. Check this page before you use this plugin. \u003Ca href=\"https:\u002F\u002Fwww.worldtides.info\u002Fdeveloper\" rel=\"nofollow ugc\">Pricing\u003C\u002Fa>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>If you have any questions or suggestions for improvements, please email support at support@brainware.net.\u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fworldtides-widget\u002F\" rel=\"ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>WorldTides™ Widget Features\u003Cbr \u002F>\n* Automatically find the nearest tide stations based on your latitude and longitude.\u003Cbr \u002F>\n* Specifying a timezone allows you to customize graphs, and the station timezone is usually the best choice.\u003Cbr \u002F>\n* The graph takes daylight saving time into account.\u003Cbr \u002F>\n* AM\u002FPM and 24-hour time formats.\u003Cbr \u002F>\n* Three graph heights are available, or you can disable them.\u003Cbr \u002F>\n* Predict high\u002Flow tides for up to 7 days.\u003Cbr \u002F>\n* Enable\u002Fdisable the fine grid for the graph.\u003Cbr \u002F>\n* Select the background color.\u003C\u002Fp>\n\u003Ch4>TIDE ICONS\u003C\u002Fh4>\n\u003Cp>Icons for WorldTides™ are exclusive to this app. Each display shows 1 to 5 lines, depending on the tide level.\u003C\u002Fp>\n\u003Ch4>ONE TO SEVEN DAY PREDICTIONS\u003C\u002Fh4>\n\u003Cp>The prediction is available for 1 or 7 days, and no cost difference exists between these options.\u003C\u002Fp>\n\u003Ch4>PLACEMENT IN CONTENT OR SIDEBAR\u003C\u002Fh4>\n\u003Cp>You can place the WorldTides™ widget in a sidebar or footer. Additionally, you can use a shortcode to embed the widget in an article.\u003C\u002Fp>\n\u003Ch4>ANY LOCATION WORLDWIDE\u003C\u002Fh4>\n\u003Cp>Thhere are thousands of coastal stations worldwide, and when those are unavailable, we use satellite data. Tide predictions are not possible overland or along rivers that are too far from the coast.\u003C\u002Fp>\n\u003Ch4>UNITS\u003C\u002Fh4>\n\u003Cp>You can display tide heights in feet or meters. Set the time format to AM\u002FPM or 24-hour format.\u003C\u002Fp>\n\u003Ch4>MULTIPLE WIDGETS OPTION\u003C\u002Fh4>\n\u003Cp>A page can have as many widgets as you want.\u003C\u002Fp>\n\u003Ch4>Tags\u003C\u002Fh4>\n\u003Cp>tides, tides widget, tides plugin, tide predictions, tide forcast, ocean tide, surf report, costal tides\u003C\u002Fp>\n","This widget is perfect for anyone who wants accurate, low-cost tide predictions on their website. WorldTides.info provides tide predictions at consume &hellip;",100,3415,90,2,"2023-12-07T03:00:00.000Z","6.4.8","4.0","",[20,21,22,23,24],"ocean-tide","tide-predictions","tides","tides-plugin","tides-widget","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fworldtides\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fworldtides-widget.1.4.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":33,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},200,30,84,"2026-04-04T17:07:06.461Z",[38,55],{"slug":39,"name":40,"version":41,"author":7,"author_profile":8,"description":42,"short_description":43,"active_installs":11,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":18,"tags":50,"homepage":18,"download_link":54,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"tide-graph","Tide Graph","2.0","\u003Cp>The popular iOS Tide Graph app is now available as a WordPress widget.\u003C\u002Fp>\n","The Tide Graph Wordpress plugin shows a graph of the water levels in various areas in the US.",5333,80,4,"2019-10-30T20:23:00.000Z","5.2.24","2.7.1",[51,52,22,53],"ocean","tide","water","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftide-graph.2.0.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":28,"num_ratings":28,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":74,"download_link":75,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"waiting-for-the-tide-uk","Waiting for the tide (UK)","1.0.7","waitingforthetide","https:\u002F\u002Fprofiles.wordpress.org\u002Fwaitingforthetide\u002F","\u003Cp>Show tide times and heights for over 700 ports and beaches in \u003Ca href=\"https:\u002F\u002Fwww.cornwall-tides.com\" rel=\"nofollow ugc\">Cornwall\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.devon-tides.com\" rel=\"nofollow ugc\">Devon\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.dorset-tides.com\" rel=\"nofollow ugc\">Dorset\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.hampshire-tides.com\" rel=\"nofollow ugc\">Hampshire\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.sussex-tides.com\" rel=\"nofollow ugc\">Sussex\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.kent-tides.com\" rel=\"nofollow ugc\">Kent\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.london-tides.com\" rel=\"nofollow ugc\">London\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.essex-tides.com\" rel=\"nofollow ugc\">Essex\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.suffolk-tides.com\" rel=\"nofollow ugc\">Suffolk\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.norfolk-tides.com\" rel=\"nofollow ugc\">Norfolk\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Select from over 700 UK ports and beaches\u003C\u002Fli>\n\u003Cli>Add tide times and heights using a sidebar widget or shortcode\u003C\u002Fli>\n\u003Cli>Choose between multiple design themes and viewing options\u003C\u002Fli>\n\u003Cli>Choose to display tide times and heights for 1, 2 or 3 days\u003C\u002Fli>\n\u003Cli>Include a Google Map for your location, plus optional text \u003C\u002Fli>\n\u003Cli>Customisable JavaScript widget also available \u003Ca href=\"https:\u002F\u002Fwww.cornwall-tides.com\u002Fadd-our-tide-times-to-your-website-or-blog\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>How to use the widget\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Go to WordPress \u002F Appearance \u002F Widgets and drag the widget into your sidebar. You can then configure settings for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Region and location\u003C\u002Fli>\n\u003Cli>Description (optional)\u003C\u002Fli>\n\u003Cli>Widget type and theme\u003C\u002Fli>\n\u003Cli>Number of days to show\u003C\u002Fli>\n\u003Cli>Advanced widget options\u003C\u002Fli>\n\u003Cli>Google Map view options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>How to use the shortcode\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can add tide times and heights using the \u003Ccode>tide_plugin\u003C\u002Fcode> shortcode and the following options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>region:\u003C\u002Fstrong> use “cornwall”,  “devon”,  “dorset”,  “hampshire”,  “sussex”,  “kent”,  “london”,  “essex”,  “suffolk” or “norfolk”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>location:\u003C\u002Fstrong> use one of the location codes from \u003Ca href=\"https:\u002F\u002Fwww.cornwall-tides.com\u002Flocation-codes\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>type:\u003C\u002Fstrong> use “table” or “card” to set the widget type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>theme:\u003C\u002Fstrong> use “basic”, “space”, or “ocean” to set the widget theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>days:\u003C\u002Fstrong> use “1”, “2”, or “3” to set the number of days\u003C\u002Fli>\n\u003Cli>\u003Cstrong>slider:\u003C\u002Fstrong> use “true” to enable widget controls when showing multiple days\u003C\u002Fli>\n\u003Cli>\u003Cstrong>icons:\u003C\u002Fstrong> use “false” to disable widget icons \u003C\u002Fli>\n\u003Cli>\u003Cstrong>map:\u003C\u002Fstrong> use “true” to include a Google Map \u003C\u002Fli>\n\u003Cli>\u003Cstrong>maptype:\u003C\u002Fstrong> use “satellite” or “roadmap” to set the type of map\u003C\u002Fli>\n\u003Cli>\u003Cstrong>mapzoom:\u003C\u002Fstrong> use “0” to “20” to set the initial map zoom \u003C\u002Fli>\n\u003Cli>\u003Cstrong>mapwidth:\u003C\u002Fstrong> default is “100%” but you can set it to any valid CSS dimension\u003C\u002Fli>\n\u003Cli>\u003Cstrong>mapheight:\u003C\u002Fstrong> default is “auto” but you can set it to any valid CSS dimension\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[tide_plugin region=\"cornwall\" location=\"boobys-bay\" type=\"card\" theme=\"ocean\" days=\"3\" slider=\"true\" map=\"true\" maptype=\"roadmap\" mapzoom=\"12\" mapwidth=\"100%\" mapheight=\"400px\"]Lorem ipsum dolor sit amet[\u002Ftide_plugin]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would show a map plus tide times and heights for the next 3 days for Booby’s Bay, Cornwall.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Terms and conditions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>By using this plugin, you and your visitors are agreeing to our \u003Ca href=\"https:\u002F\u002Fwww.waiting-for-the-tide.com\u002Fprivacy\" rel=\"nofollow ugc\">terms and conditions of use\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You may not use the data provided by this plugin for any other purpose than displaying tide times and heights using the plugin. You may use your own CSS styles to change the appearance of the plugin but you must not remove or obscure the links to \u003Ca href=\"https:\u002F\u002Fwww.cornwall-tides.com\" rel=\"nofollow ugc\">www.cornwall-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.devon-tides.com\" rel=\"nofollow ugc\">www.devon-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.dorset-tides.com\" rel=\"nofollow ugc\">www.dorset-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.hampshire-tides.com\" rel=\"nofollow ugc\">www.hampshire-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.sussex-tides.com\" rel=\"nofollow ugc\">www.sussex-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.kent-tides.com\" rel=\"nofollow ugc\">www.kent-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.london-tides.com\" rel=\"nofollow ugc\">www.london-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.essex-tides.com\" rel=\"nofollow ugc\">www.essex-tides.com\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.suffolk-tides.com\" rel=\"nofollow ugc\">www.suffolk-tides.com\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.norfolk-tides.com\" rel=\"nofollow ugc\">www.norfolk-tides.com\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>We reserve the right to block or remove access to the plugin at any time.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy policy\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin does not use any third-party services. You can learn more about our privacy policy \u003Ca href=\"https:\u002F\u002Fwww.waiting-for-the-tide.com\u002Fprivacy\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>License\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>License: \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">GPL2\u003C\u002Fa>\u003C\u002Fp>\n","Show tide times and heights for over 700 ports and beaches in Cornwall, Devon, Dorset, Hampshire, Sussex, Kent, London, Essex, Suffolk and Norfolk.",40,1286,"2025-04-09T10:33:00.000Z","6.0.11","5.6","7.4",[70,71,22,72,73],"tide-heights","tide-times","uk-tides","waiting-for-the-tide","https:\u002F\u002Fwww.waiting-for-the-tide.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwaiting-for-the-tide-uk.1.0.7.zip",{"attackSurface":77,"codeSignals":110,"taintFlows":135,"riskAssessment":136,"analyzedAt":149},{"hooks":78,"ajaxHandlers":101,"restRoutes":102,"shortcodes":103,"cronEvents":108,"entryPointCount":109,"unprotectedCount":28},[79,85,87,90,92,96],{"type":80,"name":81,"callback":82,"file":83,"line":84},"action","admin_enqueue_scripts","anonymous","includes\\class-worldtides.php",813,{"type":80,"name":81,"callback":82,"file":83,"line":86},814,{"type":80,"name":88,"callback":82,"file":83,"line":89},"wp_enqueue_scripts",819,{"type":80,"name":88,"callback":82,"file":83,"line":91},820,{"type":80,"name":93,"callback":94,"file":83,"line":95},"widgets_init","register_widget",840,{"type":97,"name":98,"callback":99,"file":83,"line":100},"filter","plugin_action_links_worldtides\u002Fworldtides.php","function_worldtides_plugin_action_links",842,[],[],[104],{"tag":105,"callback":106,"file":83,"line":107},"shortcode-worldtides","widgetHtml",841,[],1,{"dangerousFunctions":111,"sqlUsage":112,"outputEscaping":116,"fileOperations":28,"externalRequests":14,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":134},[],{"prepared":28,"raw":109,"locations":113},[114],{"file":83,"line":13,"context":115},"$wpdb->query() with variable interpolation",{"escaped":109,"rawEcho":117,"locations":118},7,[119,122,124,126,128,130,132],{"file":83,"line":120,"context":121},115,"raw output",{"file":83,"line":123,"context":121},116,{"file":83,"line":125,"context":121},118,{"file":83,"line":127,"context":121},120,{"file":83,"line":129,"context":121},121,{"file":83,"line":131,"context":121},134,{"file":83,"line":133,"context":121},181,[],[],{"summary":137,"deductions":138},"The \"worldtides-widget\" v1.3.0 plugin exhibits a mixed security posture. On the positive side, it has a very small attack surface with only one shortcode and no other readily apparent entry points like AJAX handlers or REST API routes. Critically, the static analysis did not reveal any dangerous functions, file operations, or external HTTP requests that are typically associated with high-risk vulnerabilities. The absence of any recorded CVEs in its vulnerability history further suggests a relatively stable and secure past. However, there are significant areas of concern that detract from its overall security.\n\nThe most notable weakness is the complete lack of nonces and capability checks across all identified entry points. This means that even the single shortcode, if it were to perform any sensitive action or display user-controlled data, would be vulnerable to various attacks like Cross-Site Request Forgery (CSRF) if not properly secured on the WordPress side. Furthermore, the single SQL query is not using prepared statements, which presents a direct risk of SQL injection vulnerabilities. While the output escaping percentage is low, the number of outputs is also small, making it harder to definitively assess the risk without deeper analysis, but the 13% proper escaping is concerning.\n\nIn conclusion, while the plugin's limited attack surface and clean vulnerability history are strong points, the absence of fundamental security checks like nonces and capability checks, coupled with the unescaped SQL query, creates exploitable weaknesses. The current version is not recommended for deployment without addressing these critical security oversights to prevent potential attacks.",[139,142,144,146],{"reason":140,"points":141},"SQL queries without prepared statements",10,{"reason":143,"points":141},"Missing nonce checks on entry points",{"reason":145,"points":141},"Missing capability checks on entry points",{"reason":147,"points":148},"Low percentage of properly escaped output",5,"2026-03-16T20:47:20.054Z",{"wat":151,"direct":162},{"assetPaths":152,"generatorPatterns":155,"scriptPaths":156,"versionParams":159},[153,154],"\u002Fwp-content\u002Fplugins\u002Fworldtides-widget\u002Fadmin\u002Fjs\u002Fwp-color-picker-alpha.min.js","\u002Fwp-content\u002Fplugins\u002Fworldtides-widget\u002Fadmin\u002Fjs\u002Fworldtides-admin.min.js",[],[157,158],"wp-content\u002Fplugins\u002Fworldtides-widget\u002Fadmin\u002Fjs\u002Fwp-color-picker-alpha.min.js","wp-content\u002Fplugins\u002Fworldtides-widget\u002Fadmin\u002Fjs\u002Fworldtides-admin.min.js",[160,161],"worldtides-widget\u002Fadmin\u002Fjs\u002Fwp-color-picker-alpha.min.js?ver=","worldtides-widget\u002Fadmin\u002Fjs\u002Fworldtides-admin.min.js?ver=",{"cssClasses":163,"htmlComments":164,"htmlAttributes":167,"restEndpoints":179,"jsGlobals":180,"shortcodeOutput":184},[4],[165,166],"\u003C!-- WorldTides Widget -->","\u003C!-- Widget End -->",[168,169,170,171,172,173,174,175,176,177,178],"data-wt-key","data-wt-latitude","data-wt-longitude","data-wt-timezone","data-wt-units","data-wt-days","data-wt-timemode","data-wt-graphmode","data-wt-finegrid","data-wt-bgcolor","data-wt-dotcolor",[],[181,182,183],"worldtides_api_key","worldtides_locale_settings","worldtides_site_url",[185],"\u003Cdiv class=\"worldtides-widget\""]