[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fOi62OJEJjkA3uwG8B4Utbh-wep6UVYufKqhYNup8V8I":3,"$fjfO-vVg9psuZuhBEhW9VQgE0HUtFHm-BYYpl5FRas1E":356,"$f-1vndwQn9jFarfsmjzVvvmd_PdpXG-O77y7r3ULm5Os":360},{"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,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":37,"analysis":79,"fingerprints":337},"easy-custom-login","Easy Custom Login","1.0.0","DuoGeek","https:\u002F\u002Fprofiles.wordpress.org\u002Fduogeek\u002F","\u003Cp>Tired of watching the same WordPress login page every time? Need to change logo at the top of login form? Want custom background on login page? Want lots of other really necessary stuffs? This plugin is the best and most easy way to customize your WordPress default login page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Set custom background image\u003Cbr \u002F>\n2. Upload or give custom image URL for custom login background\u003Cbr \u002F>\n3. Set custom color as login page background\u003Cbr \u002F>\n4. Set custom logo above login form\u003Cbr \u002F>\n5. Upload or give custom image URL for custom login logo\u003Cbr \u002F>\n6. Remove “Remember Me” link\u003Cbr \u002F>\n7. Remove “Lost Password” link\u003Cbr \u002F>\n8. Remove “Back To…” link\u003Cbr \u002F>\n9. Set custom URL where users will be redirected after LOGIN\u003Cbr \u002F>\n10. Set custom URL where users will be redirected after LOGOUT\u003Cbr \u002F>\n11. Add custom message over the login box\u003Cbr \u002F>\n12. Set custom font color for login box text\u003Cbr \u002F>\n13. Set login box background color\u003C\u002Fp>\n","You can fully customize your WordPress login page with Easy Custom Login plugin.",10,3686,100,1,"2015-05-01T22:41:00.000Z","4.2.39","3.9","",[20,21,22,23,24],"custom-admin-menu","duogeek","easy-menu-manager","simple-menu-manager","wordpress-menu-manager","http:\u002F\u002Fduogeek.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-custom-login.1.0.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":21,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},30,84,"2026-05-20T01:44:42.681Z",[38,59],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":11,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":56,"download_link":57,"security_score":13,"vuln_count":14,"unpatched_count":28,"last_vuln_date":58,"fetched_at":30},"custom-admin-page","Custom Admin Page by BestWebSoft – Configurable WordPress Dashboard Pages Plugin","1.0.9","bestweblayout","https:\u002F\u002Fprofiles.wordpress.org\u002Fbestweblayout\u002F","\u003Cp>Simple plugin which adds unlimited WordPress custom pages to your admin dashboard. Add as many pages as you want, customize the appearance using TinyMCE, Gutenberg, WPBakery Page Builder, and Divi Builder. Choose page position and its icon.\u003C\u002Fp>\n\u003Cp>Download, install, and add your own admin pages in a few clicks!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdemo-custom-admin-page\u002F?ref=readme\" rel=\"nofollow ugc\">View Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FEcvb7F2sATs?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>Free Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Add unlimited number of custom pages using TinyMCE editor\u003C\u002Fli>\n\u003Cli>Manage your custom page using TinyMCE or Gutenberg editor\u003C\u002Fli>\n\u003Cli>Make custom pages available for certain user roles\u003C\u002Fli>\n\u003Cli>Add custom page to parent page\u003C\u002Fli>\n\u003Cli>Set custom page order\u003C\u002Fli>\n\u003Cli>Choose custom page icon for the sidebar menu\u003C\u002Fli>\n\u003Cli>Compatible with latest WordPress version\u003C\u002Fli>\n\u003Cli>Incredibly simple settings for fast setup without modifying code\u003C\u002Fli>\n\u003Cli>Detailed step-by-step documentation and videos\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>All features from Free version included plus:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add unlimited number of custom pages using:\n\u003Cul>\n\u003Cli>WPBakery Page Builder\u003C\u002Fli>\n\u003Cli>Divi Builder\u003C\u002Fli>\n\u003Cli>Gutenberg\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Change page slug\u003C\u002Fli>\n\u003Cli>Get answer to your support question within one business day (\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fsupport-policy\u002F\" rel=\"nofollow ugc\">Support Policy\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcustom-admin-page\u002F?k=c00e18b325e058b53d0610fa0376bcdc\" rel=\"nofollow ugc\">Upgrade to Pro Now\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>If you have a feature suggestion or idea you’d like to see in the plugin, we’d love to hear about it! \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">Suggest a Feature\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation & Videos\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fcustom-admin-page\u002Fcustom-admin-page-user-guide\u002F\" rel=\"nofollow ugc\">[Doc] User Guide\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fhow-to-install-a-wordpress-product\u002Fhow-to-install-a-wordpress-plugin\u002F\" rel=\"nofollow ugc\">[Doc] Installation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Help & Support\u003C\u002Fh4>\n\u003Cp>Visit our Help Center if you have any questions, our friendly Support Team is happy to help – \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fsupport.bestwebsoft.com\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Affiliate Program\u003C\u002Fh4>\n\u003Cp>Earn 20% commission by selling the premium WordPress plugins and themes by BestWebSoft — https:\u002F\u002Fbestwebsoft.com\u002Faffiliate\u002F\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Russian (ru_RU)\u003C\u002Fli>\n\u003Cli>Ukrainian (uk)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Some of these translations are not complete. We are constantly adding new features which should be translated. If you would like to create your own language pack or update the existing one, you can send \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTranslating_WordPress\" rel=\"nofollow ugc\">the text of PO and MO files\u003C\u002Fa> to \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">BestWebSoft\u003C\u002Fa> and we’ll add it to the plugin. You can download the latest version of the program for work with PO and MO files \u003Ca href=\"https:\u002F\u002Fwww.poedit.net\u002Fdownload.php\" rel=\"nofollow ugc\">Poedit\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Recommended Plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fupdater\u002F?k=f33e1bb49ee6d97b299ba2d41e6ff4c2\" rel=\"nofollow ugc\">Updater\u003C\u002Fa> – Automatically check and update WordPress website core with all installed plugins and themes to the latest versions.\u003C\u002Fli>\n\u003C\u002Ful>\n","Add unlimited custom pages to WordPress admin dashboard.",500,32209,98,"2025-06-12T09:29:00.000Z","6.8.5","5.6",[53,54,20,39,55],"add-admin-menu","composer-custom-page","gutenberg-admin-page","https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcustom-admin-page\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-admin-page.1.0.9.zip","2017-04-12 00:00:00",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":11,"downloaded":67,"rating":13,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":18,"tags":72,"homepage":77,"download_link":78,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-float-admin-menu","WP Float Admin Menu","2.0.1","Ola","https:\u002F\u002Fprofiles.wordpress.org\u002Frockaja\u002F","\u003Cp>Re-positions your wordpress admin menu from the left side to the top. With smooth dropdown display. Have a less cluttered admin area for you or your clients to use.\u003C\u002Fp>\n\u003Cp>The plugin does what it says . Floats your menu to the top bar on your wordpress installation. Is now responsive\u003C\u002Fp>\n","Re-positions your wordpress admin menu from the left side to the top. Have a less cluttered admin area for you or your clients to use",2348,2,"2014-07-14T00:40:00.000Z","3.9.40","3.0.1",[73,74,75,20,76],"admin","admin-bar","admin-menu","move-admin-menu","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-float-admin-menu","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-float-admin-menu.2.0.1.zip",{"attackSurface":80,"codeSignals":178,"taintFlows":263,"riskAssessment":328,"analyzedAt":336},{"hooks":81,"ajaxHandlers":166,"restRoutes":167,"shortcodes":168,"cronEvents":177,"entryPointCount":68,"unprotectedCount":28},[82,88,92,95,99,103,107,111,117,121,125,128,132,138,142,146,150,154,158,162],{"type":83,"name":84,"callback":85,"file":86,"line":87},"action","init","DuoPlugin_init","duogeek\\duogeek-panel.php",119,{"type":83,"name":89,"callback":90,"file":86,"line":91},"admin_menu","register_duogeek_menu_page",120,{"type":83,"name":89,"callback":93,"file":86,"line":94},"register_duogeek_submenu_page",121,{"type":83,"name":96,"callback":97,"file":86,"line":98},"admin_enqueue_scripts","admin_styles_scripts",122,{"type":83,"name":100,"callback":101,"file":86,"line":102},"wp_enqueue_scripts","front_styles_scripts",123,{"type":83,"name":104,"callback":105,"file":86,"line":106},"wp_footer","dg_equal_column",124,{"type":83,"name":108,"callback":109,"priority":11,"file":86,"line":110},"dg_settings_sidebar","dg_settings_sidebar_cb",125,{"type":112,"name":113,"callback":114,"file":115,"line":116},"filter","admin_scripts_styles","admin_scripts_styles_cb","easycustomlogin.php",56,{"type":83,"name":118,"callback":119,"file":115,"line":120},"login_head","login_internal_style",58,{"type":112,"name":122,"callback":123,"file":115,"line":124},"duogeek_submenu_pages","ecl_menu",64,{"type":83,"name":84,"callback":126,"file":115,"line":127},"ecl_load_textdomain",297,{"type":83,"name":129,"callback":130,"file":115,"line":131},"admin_notices","show_ecl_nag_notice",326,{"type":112,"name":133,"callback":134,"priority":135,"file":136,"line":137},"ecl_form","login_style_form",13,"ecl-files\\modules\\class.login.php",21,{"type":83,"name":118,"callback":139,"priority":140,"file":136,"line":141},"reset_remember_option",99,22,{"type":83,"name":143,"callback":144,"priority":140,"file":136,"line":145},"login_form","start_login_form_cache",23,{"type":112,"name":147,"callback":148,"file":136,"line":149},"gettext","disable_password_reset",24,{"type":112,"name":151,"callback":152,"file":136,"line":153},"login_message","custom_login_message",25,{"type":112,"name":155,"callback":156,"file":136,"line":157},"login_headerurl","custom_login_header_url",26,{"type":112,"name":159,"callback":160,"priority":11,"file":136,"line":161},"login_redirect","custom_login_redirect",27,{"type":112,"name":163,"callback":164,"priority":11,"file":136,"line":165},"logout_url","custom_logout_url",28,[],[],[169,173],{"tag":170,"callback":171,"file":86,"line":172},"dg_grid","dg_grid_cb",127,{"tag":174,"callback":175,"file":86,"line":176},"dg_grid_class","dg_grid_class_cb",128,[],{"dangerousFunctions":179,"sqlUsage":180,"outputEscaping":182,"fileOperations":28,"externalRequests":14,"nonceChecks":68,"capabilityChecks":28,"bundledLibraries":262},[],{"prepared":28,"raw":28,"locations":181},[],{"escaped":28,"rawEcho":183,"locations":184},40,[185,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,227,229,230,232,233,234,236,238,240,242,244,246,248,250,252,254,256,257,259,260],{"file":86,"line":186,"context":187},389,"raw output",{"file":86,"line":189,"context":187},392,{"file":86,"line":191,"context":187},413,{"file":86,"line":193,"context":187},456,{"file":86,"line":195,"context":187},462,{"file":86,"line":197,"context":187},473,{"file":86,"line":199,"context":187},485,{"file":86,"line":201,"context":187},496,{"file":86,"line":203,"context":187},507,{"file":86,"line":205,"context":187},518,{"file":86,"line":207,"context":187},560,{"file":86,"line":209,"context":187},641,{"file":86,"line":211,"context":187},650,{"file":86,"line":213,"context":187},666,{"file":86,"line":215,"context":187},673,{"file":86,"line":217,"context":187},680,{"file":115,"line":219,"context":187},223,{"file":115,"line":221,"context":187},233,{"file":115,"line":223,"context":187},240,{"file":225,"line":226,"context":187},"ecl-files\\includes\\login-internal.php",4,{"file":225,"line":228,"context":187},8,{"file":225,"line":135,"context":187},{"file":225,"line":231,"context":187},20,{"file":225,"line":149,"context":187},{"file":225,"line":165,"context":187},{"file":225,"line":235,"context":187},34,{"file":225,"line":237,"context":187},38,{"file":225,"line":239,"context":187},44,{"file":225,"line":241,"context":187},47,{"file":225,"line":243,"context":187},63,{"file":225,"line":245,"context":187},68,{"file":225,"line":247,"context":187},73,{"file":225,"line":249,"context":187},74,{"file":225,"line":251,"context":187},75,{"file":225,"line":253,"context":187},78,{"file":225,"line":255,"context":187},83,{"file":225,"line":35,"context":187},{"file":225,"line":258,"context":187},87,{"file":136,"line":48,"context":187},{"file":136,"line":261,"context":187},107,[],[264,290,301,317],{"entryPoint":265,"graph":266,"unsanitizedCount":28,"severity":289},"duogeek_panel_cb (duogeek\\duogeek-panel.php:353)",{"nodes":267,"edges":285},[268,273,278,281],{"id":269,"type":270,"label":271,"file":86,"line":272},"n0","source","$_REQUEST['redirect_url']",376,{"id":274,"type":275,"label":276,"file":86,"line":272,"wp_function":277},"n1","sink","wp_redirect() [Open Redirect]","wp_redirect",{"id":279,"type":270,"label":280,"file":86,"line":186},"n2","$_REQUEST['msg']",{"id":282,"type":275,"label":283,"file":86,"line":186,"wp_function":284},"n3","echo() [XSS]","echo",[286,288],{"from":269,"to":274,"sanitized":287},true,{"from":279,"to":282,"sanitized":287},"low",{"entryPoint":291,"graph":292,"unsanitizedCount":28,"severity":289},"\u003Cduogeek-panel> (duogeek\\duogeek-panel.php:0)",{"nodes":293,"edges":298},[294,295,296,297],{"id":269,"type":270,"label":271,"file":86,"line":272},{"id":274,"type":275,"label":276,"file":86,"line":272,"wp_function":277},{"id":279,"type":270,"label":280,"file":86,"line":186},{"id":282,"type":275,"label":283,"file":86,"line":186,"wp_function":284},[299,300],{"from":269,"to":274,"sanitized":287},{"from":279,"to":282,"sanitized":287},{"entryPoint":302,"graph":303,"unsanitizedCount":28,"severity":289},"ecl_settings_page (easycustomlogin.php:177)",{"nodes":304,"edges":314},[305,308,312,313],{"id":269,"type":270,"label":306,"file":115,"line":307},"$_POST",189,{"id":274,"type":275,"label":309,"file":115,"line":310,"wp_function":311},"update_option() [Settings Manipulation]",196,"update_option",{"id":279,"type":270,"label":280,"file":115,"line":219},{"id":282,"type":275,"label":283,"file":115,"line":219,"wp_function":284},[315,316],{"from":269,"to":274,"sanitized":287},{"from":279,"to":282,"sanitized":287},{"entryPoint":318,"graph":319,"unsanitizedCount":28,"severity":289},"\u003Ceasycustomlogin> (easycustomlogin.php:0)",{"nodes":320,"edges":325},[321,322,323,324],{"id":269,"type":270,"label":306,"file":115,"line":307},{"id":274,"type":275,"label":309,"file":115,"line":310,"wp_function":311},{"id":279,"type":270,"label":280,"file":115,"line":219},{"id":282,"type":275,"label":283,"file":115,"line":219,"wp_function":284},[326,327],{"from":269,"to":274,"sanitized":287},{"from":279,"to":282,"sanitized":287},{"summary":329,"deductions":330},"The 'easy-custom-login' plugin version 1.0.0 presents a mixed security posture. On the positive side, the static analysis shows no dangerous functions, no raw SQL queries, and a lack of critical or high severity taint flows, indicating a generally careful approach to sensitive operations. The absence of known CVEs and a clean vulnerability history further contribute to a perception of a secure codebase.  However, a significant concern arises from the 100% of output escaping issues. This means that all 40 identified output points are potentially vulnerable to Cross-Site Scripting (XSS) attacks, as user-supplied data may not be properly neutralized before being displayed in the browser. Additionally, the plugin relies on nonces for its two identified entry points (shortcodes), which is good practice, but the lack of capability checks on these entry points is a notable weakness.",[331,334],{"reason":332,"points":333},"All output escaping issues found",16,{"reason":335,"points":11},"No capability checks on entry points","2026-03-17T01:11:00.588Z",{"wat":338,"direct":347},{"assetPaths":339,"generatorPatterns":342,"scriptPaths":343,"versionParams":344},[340,341],"\u002Fwp-content\u002Fplugins\u002Feasy-custom-login\u002Fecl-files\u002Fassets\u002Fjs\u002Fecl.js","\u002Fwp-content\u002Fplugins\u002Feasy-custom-login\u002Fecl-files\u002Fassets\u002Fcss\u002Fecl.css",[],[],[345,346],"ecl-files\u002Fassets\u002Fjs\u002Fecl.js?ver=","ecl-files\u002Fassets\u002Fcss\u002Fecl.css?ver=",{"cssClasses":348,"htmlComments":350,"htmlAttributes":351,"restEndpoints":352,"jsGlobals":353,"shortcodeOutput":355},[349],"ecl-settings",[],[],[],[354],"data",[],{"error":287,"url":357,"statusCode":358,"statusMessage":359,"message":359},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Feasy-custom-login\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":14,"versions":361},[362],{"version":363,"download_url":26,"svn_tag_url":364,"released_at":29,"has_diff":365,"diff_files_changed":366,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":367,"is_current":365},"1.0","https:\u002F\u002Fplugins.svn.wordpress.org\u002Feasy-custom-login\u002Ftags\u002F1.0\u002F",false,[],[]]