[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fXCED2iHXj32DDTUlWcchDJZc7og_0UvX3BUjOqXg99M":3,"$fxqGkeT5lDTwpoRpZrjvXA_4YEU6adjsiX7DeO93QDSo":341,"$fva6aVV8JtZgJAQYq4b7jcaZxismJlpFYH3rtOVu0-JQ":346},{"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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":17,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":37,"analysis":145,"fingerprints":323},"zaki-push-notification","Zaki Push Notification","1.1","Riccardo Conte","https:\u002F\u002Fprofiles.wordpress.org\u002Frconte-1\u002F","\u003Cp>This plugin implements the Apple Push Notification Service (APNs) and allows you to send notifications from your site to all devices that have installed your app. A button is added next to the button for publishing the post on the edit page to do this.\u003C\u002Fp>\n\u003Cp>All registration\u002Fdeletion requests must be sent to a specific URL of the website and must be composed by the UDID code followed by the device token (Look at the documentation page of plugin after installation).\u003C\u002Fp>\n\u003Cp>In the settings page you can also upload your PEM certificate file and set all other information such as PEM SSL password, SSL server url and port. The PEM file will be stored in a protected folder for security reason.\u003C\u002Fp>\n","Add the Apple Push Notification Service (APNs) at your site.",10,1517,0,"2013-11-28T11:49:00.000Z","3.7.41","3.3","",[19,20,21,22,23],"apn","apple","iphone","posts","push-notification","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzaki-push-notification.zip",85,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":25,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"rconte-1",5,70,30,84,"2026-05-20T03:00:41.008Z",[38,62,85,105,122],{"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":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":17,"tags":53,"homepage":58,"download_link":59,"security_score":48,"vuln_count":60,"unpatched_count":13,"last_vuln_date":61,"fetched_at":27},"favicon-by-realfavicongenerator","Favicon by RealFaviconGenerator","1.3.46","phbernard","https:\u002F\u002Fprofiles.wordpress.org\u002Fphbernard\u002F","\u003Cp>Generate and setup a favicon for desktop browsers, iPhone\u002FiPad, Android devices, Windows 8 tablets and more. In a matter of seconds, design an icon that looks great on all major platforms.\u003C\u002Fp>\n\u003Cp>Favicon is not just a single \u003Ccode>favicon.ico\u003C\u002Fcode> file dropped in the middle of your site. Nowadays, with so many different platforms and devices, you need a bunch of pictures to get the job done. With RealFaviconGenerator, generate all the icons you need for desktop browsers, iPhone\u002FiPad, Android devices, Windows 8 devices, and more.\u003C\u002Fp>\n\u003Cp>iOS devices use a high resolution Apple touch icon to illustrate bookmarks and home screen shortcuts. A first generation iPhone needs a 57×57 picture, whereas a brand new iPad with Retina screen looks for a 152×152 picture. Android Chrome also use these pictures if it finds them. Windows 8 takes another route with a dedicated set of icons and HTML declarations.\u003C\u002Fp>\n\u003Cp>Favicon is not only a matter of pictures with different resolutions. The various platforms coms with different UI guidelines. For example, the classic desktop favicons often use transparency. But iOS requires opaque icons. And Windows 8 has its own recommendations.\u003C\u002Fp>\n\u003Cp>Save hours of research and image edition with RealFaviconGenerator and its companion plugin. In a matter of seconds, you setup a favicon compatible with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Windows (IE, Chrome, Firefox, Opera, Safari)\u003C\u002Fli>\n\u003Cli>Mac (Safari, Chrome, Firefox, Opera, Camino)\u003C\u002Fli>\n\u003Cli>iOS (Safari, Chrome, Coast)\u003C\u002Fli>\n\u003Cli>Android (Chrome, Firefox)\u003C\u002Fli>\n\u003Cli>Surface (IE)\u003C\u002Fli>\n\u003Cli>And more\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>We take compatibility very seriously. See http:\u002F\u002Frealfavicongenerator.net\u002Ffavicon_compatibility for the full list.\u003C\u002Fp>\n\u003Cp>This plugin relies on \u003Ca href=\"http:\u002F\u002Frealfavicongenerator.net\" rel=\"nofollow ugc\">RealFaviconGenerator\u003C\u002Fa> when you create your favicon. Browse its \u003Ca href=\"https:\u002F\u002Frealfavicongenerator.net\u002Fterms_of_service\" rel=\"nofollow ugc\">terms of service\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Frealfavicongenerator.net\u002Fprivacy_policy\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa> for additional information.\u003C\u002Fp>\n\u003Ch3>Localization\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>English (\u003Ccode>en_EN\u003C\u002Fcode>) by \u003Ca href=\"http:\u002F\u002Frealfavicongenerator.net\u002F\" rel=\"nofollow ugc\">Philippe Bernard\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French (\u003Ccode>fr_FR\u003C\u002Fcode>) by \u003Ca href=\"http:\u002F\u002Frealfavicongenerator.net\u002F\" rel=\"nofollow ugc\">Philippe Bernard\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Swedish (\u003Ccode>sv_SE\u003C\u002Fcode>) by \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fwileryd\" rel=\"nofollow ugc\">Linus Wileryd\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Brazilian Portuguese (\u003Ccode>pt_BR\u003C\u002Fcode>) by Marcelo Volgarini, \u003Ca href=\"http:\u002F\u002Fwww.techload.com.br\u002Fcriacao-de-sites-ribeirao-preto\" rel=\"nofollow ugc\">Criação de Sites\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Dutch (\u003Ccode>nl_NL\u003C\u002Fcode>) by \u003Ca href=\"https:\u002F\u002Feco13.eu\" rel=\"nofollow ugc\">Axel Vanderhaeghen\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Danish (\u003Ccode>da_DK\u003C\u002Fcode>) by \u003Ca href=\"http:\u002F\u002Falexanderleohansen.dk\u002F\" rel=\"nofollow ugc\">Alexander Leo-Hansen\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Czech (\u003Ccode>cs_CZ\u003C\u002Fcode>) by an anonymous translator\u003C\u002Fli>\n\u003Cli>Polish (\u003Ccode>pl_PL\u003C\u002Fcode>) by \u003Ca href=\"http:\u002F\u002Fmaciej-gryniuk.tk\u002F\" rel=\"nofollow ugc\">Maciej Gryniuk\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian (\u003Ccode>ru_RU\u003C\u002Fcode>) by Natasha Diatko, \u003Ca href=\"https:\u002F\u002Fwww.ustarcash.com\" rel=\"nofollow ugc\">UStarCash\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Indonesian (\u003Ccode>id_ID\u003C\u002Fcode>) by \u003Ca href=\"https:\u002F\u002Fwww.chameleonjohn.com\u002F\" rel=\"nofollow ugc\">Jordan Silaen\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fcoderisk.com\u002Fwp\u002Fplugin\u002Ffavicon-by-realfavicongenerator\u002FRIPS-TVYsdQTMAr\" rel=\"nofollow ugc\">\u003C\u002Fa>\u003C\u002Fp>\n","Create and install your favicon for all platforms: PC\u002FMac, iPhone\u002FiPad, Android devices, Windows 8 tablets...",200000,5255187,98,801,"2026-03-02T16:20:00.000Z","7.0","3.5",[54,55,56,21,57],"apple-touch-icon","favicon","icon","logo","http:\u002F\u002Frealfavicongenerator.net\u002Fextensions\u002Fwordpress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffavicon-by-realfavicongenerator.1.3.46.zip",4,"2024-04-10 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":76,"requires_php":17,"tags":77,"homepage":81,"download_link":82,"security_score":35,"vuln_count":83,"unpatched_count":13,"last_vuln_date":84,"fetched_at":27},"smart-app-banner","Smart App Banner","1.1.6","stephend","https:\u002F\u002Fprofiles.wordpress.org\u002Fstephend\u002F","\u003Cp>This is a WordPress plugin that allows you to use the Smart App Banners with your\u003Cbr \u002F>\nWordPress blog.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdeveloper.apple.com\u002Flibrary\u002Fios\u002F#documentation\u002FAppleApplications\u002FReference\u002FSafariWebContent\u002FPromotingAppswithAppBanners\u002FPromotingAppswithAppBanners.html#\u002F\u002Fapple_ref\u002Fdoc\u002Fuid\u002FTP40002051-CH6-SW1\" rel=\"nofollow ugc\">According to Apple\u003C\u002Fa>, Smart App Banners:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>vastly improve users’ browsing experience compared to other promotional methods.\u003Cbr \u002F>\n  As banners are implemented in iOS 6, they will provide a consistent look and\u003Cbr \u002F>\n  feel across the web that users will come to recognize. Users will trust that tapping the\u003Cbr \u002F>\n  banner will take them to the App Store and not a third-party advertisement. They will\u003Cbr \u002F>\n  appreciate that banners are presented unobtrusively at the top of a webpage, instead of\u003Cbr \u002F>\n  as a full-screen ad interrupting the web content. And with a large and prominent\u003Cbr \u002F>\n  close button, a banner is easy for users to dismiss.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>It’s really simple to use. In short, you download and activate the plugin. On pages and posts you should find a “Smart App Banner” settings box. If you want the Smart App Banner to appear on this page then enter the App ID of your application here. You can also enter affiliate data and an app argument here.\u003C\u002Fp>\n\u003Cp>If you want to display a banner on the home page there’s a setting screen (Settings -> Smart App Banner) where you can enter the App ID.\u003C\u002Fp>\n\u003Cp>You can find the App ID in iTunes Connect, using the\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fitunes.apple.com\u002Flinkmaker\u002F\" rel=\"nofollow ugc\">iTunes Link Maker\u003C\u002Fa> or if the iTunes URL for your\u003Cbr \u002F>\napp looks like this:\u003C\u002Fp>\n\u003Cp>https:\u002F\u002Fitunes.apple.com\u002Fus\u002Fapp\u002Frootn-tootn-baby-feed-timer\u002Fid530589336?ls=1&mt=8\u003C\u002Fp>\n\u003Cp>Then your ID is “530589336”.\u003C\u002Fp>\n\u003Cp>The other two fields are optional.\u003C\u002Fp>\n\u003Cp>The affiliate data field varies depending on the affiliate. The most common is PHG, where the value looks like “at=AFFILIATE_TOKEN” or “at=AFFILIATE_TOKEN&ct=CAMPAIGN” (without the quotes). You can find the token when you sign into the PHG website. The campaign is just some text you use to identify a particular marketing campaign.\u003C\u002Fp>\n\u003Cp>So I might have “at=11lmMT&ct=wordpress” on the product pages of my website. Check the documentation to find your affiliate token and confirm the format.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdeveloper.apple.com\u002Flibrary\u002Fios\u002Fdocumentation\u002FAppleApplications\u002FReference\u002FSafariWebContent\u002FPromotingAppswithAppBanners\u002FPromotingAppswithAppBanners.html\" rel=\"nofollow ugc\">According to the documentation\u003C\u002Fa>, the app argument value is:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>A URL that provides context to your native app. If you include this, and the user has your\u003Cbr \u002F>\n  app installed, she can jump from your website to the corresponding position in your iOS app.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>This plugin does not restrict or validate what you put here.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>You can format it however you’d like, as long as it is a valid URL.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","This is a WordPress plugin that allows you to use Smart App Banners, introduced in iOS 6, with your WordPress blog.",600,25107,94,3,"2024-03-23T20:35:00.000Z","6.4.8","4.6",[20,78,79,80,21],"banner","ios","ipad","https:\u002F\u002Fwww.zx81.org.uk\u002Fsoftware\u002Fwordpress-smart-app-banner-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmart-app-banner.1.1.6.zip",2,"2023-10-18 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":11,"downloaded":93,"rating":13,"num_ratings":13,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":17,"tags":97,"homepage":102,"download_link":103,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":104},"push-notification-sender","Push Notification Sender for WP","1.0.0","bishal.saha","https:\u002F\u002Fprofiles.wordpress.org\u002Fbishalsaha\u002F","\u003Cp>Launch push notification to all iOS and Android devices automatically when an Add\u002FEdit a Post\u002FPage and even when a new comment is added to any post. No any third party software integration required. You can also send a custom push notification to any individual registered member.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>Supports following methods\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Apple Push Notification service (APNs)\u003C\u002Fli>\n\u003Cli>Google Cloud Messaging (GCM)\u003C\u002Fli>\n\u003Cli>Firebase Cloud Messaging (FCM)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin have options to:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Launch push notification to WordPress users separately.\u003C\u002Fli>\n\u003Cli>Launch push notification to users when a new page\u002Fpost is published or when new comment is added to the post (administrator user)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Required Settings\u003C\u002Fh3>\n\u003Cp>To launch push notification to android devices, you need to enter the Google GCM API Key\u003C\u002Fp>\n\u003Cp>To launch push notification to iOS devices, you need to upload the Apple APNs pem certification file.\u003C\u002Fp>\n\u003Cp>This plugin have a separate API to register any devices to receive push notification. You may use this API in your mobile application and send the token to API to register the device.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WordPress 4.4 or greater\u003C\u002Fli>\n\u003Cli>PHP version 5.2.4 or greater\u003C\u002Fli>\n\u003Cli>MySQL version 5.0 or greater\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>English – default, always included\u003C\u002Fli>\n\u003C\u002Ful>\n","Easiest way to launch push notification from your WordPress website to iOs and Android devices. Ready to go, no third party any integration required.",1744,"2017-08-30T19:05:00.000Z","4.7.33","3.0.1",[86,98,99,100,101],"send-push-notification","send-to-android","send-to-iphone","send-to-mobile","http:\u002F\u002Fgentryx.com\u002Fwp-plugin\u002Fpush-notification-sender","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpush-notification-sender.zip","2026-04-06T09:54:40.288Z",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":11,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":15,"requires_at_least":117,"requires_php":17,"tags":118,"homepage":17,"download_link":121,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":104},"push-notifications-ios","Push Notification iOS","0.3","zedamin","https:\u002F\u002Fprofiles.wordpress.org\u002Fzedamin\u002F","\u003Cp>This plugin allows you to send notifications directly from your WordPress site with payload (JSON) to all devices, that have installed your app to notify users about something new.\u003C\u002Fp>\n\u003Cp>Now, go to Installation section to find out how to install and use plugin.\u003C\u002Fp>\n","This plugin allows you to send Push Notifications directly from your WordPress site to your iOS app.",1772,40,1,"2013-11-22T14:08:00.000Z","3.6",[79,80,21,119,120],"ipod-touch","push-notifications","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpush-notifications-ios.zip",{"slug":123,"name":124,"version":125,"author":126,"author_profile":127,"description":128,"short_description":129,"active_installs":130,"downloaded":131,"rating":132,"num_ratings":133,"last_updated":134,"tested_up_to":135,"requires_at_least":136,"requires_php":17,"tags":137,"homepage":142,"download_link":143,"security_score":48,"vuln_count":73,"unpatched_count":13,"last_vuln_date":144,"fetched_at":27},"duplicate-page","Duplicate Page","4.5.7","mndpsingh287","https:\u002F\u002Fprofiles.wordpress.org\u002Fmndpsingh287\u002F","\u003Cp>Duplicate Posts, Pages and Custom Posts easily using single click. You can duplicate your pages, posts and custom post by just one click and it will save as your selected options (draft, private, public, pending).\u003C\u002Fp>\n\u003Ch4>Key Features in Duplicate Page Pro Editions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>User Roles:\u003C\u002Fstrong> Allow User Roles To access Duplicate Page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Types:\u003C\u002Fstrong> Filter to show Duplicate Page link in post types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clone Link Location:\u003C\u002Fstrong> Option where to show clone link.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Status:\u003C\u002Fstrong> Option to select Duplicate Posts Status.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Redirection:\u003C\u002Fstrong> Option to Redirect after click on clone link..\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clone Link Title:\u003C\u002Fstrong> Option to change Duplicate Post Link Title.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Prefix:\u003C\u002Fstrong> Option to add Post Prefix.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Suffix:\u003C\u002Fstrong> Option to add Post Suffix.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor\u003C\u002Fstrong>: And Many More Filters and Features.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fduplicatepro.com\u002Fpro\u002F?utm_source=Wordpress.org&utm_medium=Website&utm_campaign=Duplicate%20Page%20Pro\" rel=\"nofollow ugc\">Buy Pro Version\u003C\u002Fa>\u003C\u002Fstrong> with various features & support.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fduplicatepro.com\u002Fcontact\u002F?utm_source=Wordpress.org&utm_medium=Website&utm_campaign=Duplicate%20Page%20Pro\" rel=\"nofollow ugc\">Contact us\u003C\u002Fa>\u003C\u002Fstrong> for Support Only Pro Version Users.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fduplicatepro.com\u002Fpro\u002F?utm_source=Wordpress.org&utm_medium=Website&utm_campaign=Duplicate%20Page%20Pro\" rel=\"nofollow ugc\">Upgrade to Pro Version\u003C\u002Fa>\u003C\u002Fstrong>\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\u002FFj8BHxvebXs?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\u003Ch3>How to use\u003C\u002Fh3>\n\u003Col>\n\u003Cli>First Activate Plugin.\u003C\u002Fli>\n\u003Cli>Go Select to Duplicate Page settings Menu from Settings Tab and savings settings. \u003C\u002Fli>\n\u003Cli>Then Create New Post\u002FPage or Use old.\u003C\u002Fli>\n\u003Cli>After click on duplicate this link, then duplicate post\u002F page will be created and saved as draft,publish,pending,private depending upon settings.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Minimum requirements for Duplicate Page\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 3.3+\u003C\u002Fli>\n\u003Cli>PHP 5.x\u003C\u002Fli>\n\u003Cli>MySQL 5.x\u003C\u002Fli>\n\u003C\u002Ful>\n","Duplicate Posts, Pages and Custom Posts easily using single click",3000000,37401635,96,449,"2026-03-19T10:33:00.000Z","6.9.4","3.4",[138,123,139,140,141],"duplicate-custom-posts","duplicate-post","page-duplicate","post-duplicate","https:\u002F\u002Fduplicatepro.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduplicate-page.zip","2021-08-28 00:00:00",{"attackSurface":146,"codeSignals":205,"taintFlows":281,"riskAssessment":308,"analyzedAt":322},{"hooks":147,"ajaxHandlers":196,"restRoutes":202,"shortcodes":203,"cronEvents":204,"entryPointCount":115,"unprotectedCount":115},[148,154,158,160,164,169,173,177,181,185,189,192],{"type":149,"name":150,"callback":151,"file":152,"line":153},"action","admin_init","ZakiPushNotification_BackendCss","zaki-push-notification.php",17,{"type":149,"name":155,"callback":156,"file":152,"line":157},"admin_enqueue_scripts","ZakiPushNotification_JqueryCheck",24,{"type":149,"name":150,"callback":159,"file":152,"line":34},"ZakiPushNotification_SettingsInit",{"type":149,"name":161,"callback":162,"file":152,"line":163},"admin_menu","ZakiPushNotification_AddMenuPages",31,{"type":165,"name":166,"callback":167,"file":152,"line":168},"filter","wp_handle_upload_prefilter","ZakiPushNotification_upload_prefilter",320,{"type":165,"name":170,"callback":171,"file":152,"line":172},"wp_handle_upload","ZakiPushNotification_upload",321,{"type":165,"name":174,"callback":175,"file":152,"line":176},"upload_dir","ZakiPushNotification_upload_dir",324,{"type":165,"name":178,"callback":179,"file":152,"line":180},"upload_mimes","ZakiPushNotification_mime_enable",325,{"type":149,"name":182,"callback":183,"file":152,"line":184},"post_submitbox_misc_actions","ZakiPushNotification_metabox",359,{"type":165,"name":186,"callback":187,"file":152,"line":188},"query_vars","ZakiPushNotification_QueryVars",400,{"type":149,"name":150,"callback":190,"file":152,"line":191},"ZakiPushNotification_RestApiRewrite",408,{"type":149,"name":193,"callback":194,"file":152,"line":195},"wp","ZakiPushNotification_RestApiActions",418,[197],{"action":198,"nopriv":199,"callback":200,"hasNonce":199,"hasCapCheck":199,"file":152,"line":201},"zaki-push-notification-ajax",false,"ZakiPushNotification_AjaxSave",37,[],[],[],{"dangerousFunctions":206,"sqlUsage":207,"outputEscaping":210,"fileOperations":83,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":280},[],{"prepared":208,"raw":13,"locations":209},11,[],{"escaped":13,"rawEcho":211,"locations":212},34,[213,216,218,220,222,224,226,228,230,232,234,236,238,240,242,243,245,247,249,251,253,255,257,259,261,263,264,266,268,270,272,274,276,278],{"file":152,"line":214,"context":215},159,"raw output",{"file":152,"line":217,"context":215},163,{"file":152,"line":219,"context":215},177,{"file":152,"line":221,"context":215},190,{"file":152,"line":223,"context":215},193,{"file":152,"line":225,"context":215},194,{"file":152,"line":227,"context":215},195,{"file":152,"line":229,"context":215},209,{"file":152,"line":231,"context":215},212,{"file":152,"line":233,"context":215},250,{"file":152,"line":235,"context":215},254,{"file":152,"line":237,"context":215},260,{"file":152,"line":239,"context":215},262,{"file":152,"line":241,"context":215},272,{"file":152,"line":241,"context":215},{"file":152,"line":244,"context":215},273,{"file":152,"line":246,"context":215},274,{"file":152,"line":248,"context":215},278,{"file":152,"line":250,"context":215},282,{"file":152,"line":252,"context":215},283,{"file":152,"line":254,"context":215},289,{"file":152,"line":256,"context":215},293,{"file":152,"line":258,"context":215},294,{"file":152,"line":260,"context":215},300,{"file":152,"line":262,"context":215},312,{"file":152,"line":262,"context":215},{"file":152,"line":265,"context":215},367,{"file":152,"line":267,"context":215},369,{"file":152,"line":269,"context":215},372,{"file":152,"line":271,"context":215},374,{"file":152,"line":273,"context":215},385,{"file":152,"line":275,"context":215},386,{"file":152,"line":277,"context":215},395,{"file":152,"line":279,"context":215},432,[],[282,299],{"entryPoint":283,"graph":284,"unsanitizedCount":115,"severity":298},"ZakiPushNotification_AjaxSave (zaki-push-notification.php:392)",{"nodes":285,"edges":296},[286,291],{"id":287,"type":288,"label":289,"file":152,"line":290},"n0","source","$_POST",393,{"id":292,"type":293,"label":294,"file":152,"line":277,"wp_function":295},"n1","sink","echo() [XSS]","echo",[297],{"from":287,"to":292,"sanitized":199},"medium",{"entryPoint":300,"graph":301,"unsanitizedCount":115,"severity":307},"\u003Czaki-push-notification> (zaki-push-notification.php:0)",{"nodes":302,"edges":305},[303,304],{"id":287,"type":288,"label":289,"file":152,"line":290},{"id":292,"type":293,"label":294,"file":152,"line":277,"wp_function":295},[306],{"from":287,"to":292,"sanitized":199},"low",{"summary":309,"deductions":310},"The zaki-push-notification plugin v1.1 exhibits a concerning security posture due to critical weaknesses despite some good practices. While it utilizes prepared statements for all SQL queries and makes no external HTTP requests, its handling of entry points is highly problematic. The presence of one unprotected AJAX handler, which constitutes the entire attack surface for entry points, presents a significant risk. Furthermore, the complete lack of proper output escaping across all identified outputs means that any data processed through these functions could potentially be rendered in an unsafe manner, leading to cross-site scripting (XSS) vulnerabilities. The taint analysis reveals two flows with unsanitized paths, indicating potential issues with data handling that, while not classified as critical or high, warrant attention. The absence of vulnerability history, while seemingly positive, could also indicate a lack of active security auditing or reporting, rather than genuine robustness. In conclusion, the plugin has strengths in its SQL query handling but is severely let down by its unprotected entry points and a critical deficiency in output sanitization, making it a high-risk component.",[311,313,316,318,320],{"reason":312,"points":11},"Unprotected AJAX handler",{"reason":314,"points":315},"Zero output escaping",8,{"reason":317,"points":32},"Flows with unsanitized paths",{"reason":319,"points":32},"Zero nonce checks",{"reason":321,"points":32},"Zero capability checks","2026-04-16T12:30:03.482Z",{"wat":324,"direct":331},{"assetPaths":325,"generatorPatterns":328,"scriptPaths":329,"versionParams":330},[326,327],"\u002Fwp-content\u002Fplugins\u002Fzaki-push-notification\u002Fcss\u002Fmain.css","\u002Fwp-content\u002Fplugins\u002Fzaki-push-notification\u002Fjs\u002Fjs-zaki-push-notification.js",[],[327],[],{"cssClasses":332,"htmlComments":333,"htmlAttributes":334,"restEndpoints":336,"jsGlobals":338,"shortcodeOutput":340},[],[],[335],"data-uploader_title=\"PEM Uploader\"",[337],"\u002Fwp-json\u002Fzaki-push-notification-ajax",[339],"js-zaki-push-notification",[],{"error":342,"url":343,"statusCode":344,"statusMessage":345,"message":345},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fzaki-push-notification\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":13,"versions":347},[]]