[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f_EKV6v03-KiowvZ2Src9a8pXx9uw0WYf2jTi-CM56ZA":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":15,"download_link":22,"security_score":13,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":31,"analysis":131,"fingerprints":168},"ppp-extension","PPP Extension","1.0.4","Louie Sonugan","https:\u002F\u002Fprofiles.wordpress.org\u002Fwinglouie\u002F","\u003Cp>Extends the Public Post Preview plugin by allowing users to customize the expiration time dynamically through the WordPress admin panel.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Set the expiration time for Public Post Preview links.\u003C\u002Fli>\n\u003Cli>Customize the expiration time in \u003Cstrong>minutes\u003C\u002Fstrong> (from 1 minute to 30 days).\u003C\u002Fli>\n\u003Cli>Secure input validation to prevent invalid values.\u003C\u002Fli>\n\u003Cli>Fully integrated into the \u003Cstrong>WordPress Settings panel\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Safe and lightweight implementation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Navigate to \u003Cstrong>Settings > PPP Extension\u003C\u002Fstrong> in your WordPress admin panel.\u003C\u002Fli>\n\u003Cli>Enter the expiration time in \u003Cstrong>minutes\u003C\u002Fstrong> (minimum: 1, maximum: 43200 minutes \u002F 30 days).\u003C\u002Fli>\n\u003Cli>Click Save Changes.\u003C\u002Fli>\n\u003Cli>Public Post Preview links will now expire based on your selected time.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Security\u003C\u002Fh3>\n\u003Cp>– User input is \u003Cstrong>sanitized\u003C\u002Fstrong> and validated to prevent unauthorized values.\u003Cbr \u002F>\n– The input is limited between \u003Cstrong>1 minute and 30 days\u003C\u002Fstrong> to avoid extreme values.\u003Cbr \u002F>\n– Escaped output prevents XSS attacks.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is released under the GPLv2 or later license.\u003C\u002Fp>\n","Extends the Public Post Preview plugin by allowing users to customize the expiration time dynamically through the WordPress admin panel.",30,643,100,1,"","6.9.4","5.0","8.0",[20,21],"expiration","public-post-preview","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fppp-extension.1.0.4.zip",0,null,"2026-03-15T10:48:56.248Z",[],{"slug":28,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":11,"trust_score":29,"computed_at":30},"winglouie",94,"2026-04-04T19:38:25.943Z",[32,56,77,95,114],{"slug":33,"name":34,"version":35,"author":36,"author_profile":37,"description":38,"short_description":39,"active_installs":40,"downloaded":41,"rating":42,"num_ratings":43,"last_updated":44,"tested_up_to":16,"requires_at_least":45,"requires_php":15,"tags":46,"homepage":52,"download_link":53,"security_score":13,"vuln_count":14,"unpatched_count":23,"last_vuln_date":54,"fetched_at":55},"far-future-expiry-header","Far Future Expiry Header","1.6","mra13","https:\u002F\u002Fprofiles.wordpress.org\u002Fmra13\u002F","\u003Cp>This plugin offers a few lightweight features to speed up your WordPress site without much hassle.\u003C\u002Fp>\n\u003Ch4>Far Future Expiry\u003C\u002Fh4>\n\u003Cp>When the feature is enabled, this plugin will modify your .htaccess file by inserting code which will add expires headers for common static file types.\u003C\u002Fp>\n\u003Cp>Expiry header specifies a time far enough in the future so that browsers won’t try to re-fetch images, CSS, javascript etc files that haven’t changed (this reduces the number of HTTP requests) and hence the performance improvement on subsequent page views.\u003C\u002Fp>\n\u003Ch4>Gzip Compression\u003C\u002Fh4>\n\u003Cp>You can also enable Gzip compression on your site using this plugin. Gzip compression will speed up your WordPress site by compressing the page output and sending it to your visitors browser.\u003C\u002Fp>\n\u003Cp>When enabled, the plugin will do gzip compression if the visitor’s browser can handle it.\u003C\u002Fp>\n\u003Cp>This feature may conflict with a few other plugins. So disable this feature if you need to use a plugin which doesn’t work with gzip compression.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>To use this plugin do the following:\u003C\u002Fp>\n\u003Cp>1) Ensure that the “mod_expires” module is enabled from your host’s main configuration file\u003C\u002Fp>\n\u003Cp>2) Check with your hosting provider or if you have access to the httpd.conf file the following line should be uncommented:\u003Cbr \u002F>\nLoadModule expires_module modules\u002Fmod_expires.so\u003C\u002Fp>\n\u003Cp>3) Enable the “Far Future Expiration” checkbox\u003C\u002Fp>\n\u003Cp>4) Set the number of days till expiry\u003C\u002Fp>\n\u003Cp>5) Select the file types you wish to enable the “far future expiration” feature for by using the checkboxes in the “File Types” section\u003C\u002Fp>\n\u003Cp>NOTE: When you use this plugin, the file selected file types are cached in the browser until they expire. Therefore you should not use this on files that change frequently.\u003C\u002Fp>\n\u003Cp>More details can be found on the \u003Ca href=\"https:\u002F\u002Fwww.tipsandtricks-hq.com\u002Fwordpress-far-future-expiration-plugin-5980\" rel=\"nofollow ugc\">plugin’s documentation page\u003C\u002Fa>\u003C\u002Fp>\n","This plugin will add a far future expiry header for various file types to improve page load speed of your site",7000,230392,64,31,"2025-12-02T03:13:00.000Z","5.5",[47,48,49,50,51],"cache","expires-header","expiry","expiry-header","far-future-expiration","https:\u002F\u002Fwww.tipsandtricks-hq.com\u002Fwordpress-far-future-expiration-plugin-5980","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffar-future-expiry-header.zip","2021-10-04 00:00:00","2026-03-15T15:16:48.613Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":17,"requires_php":15,"tags":70,"homepage":15,"download_link":75,"security_score":76,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":55},"wp-post-expires","WP Post Expires","1.2.5","X-NicON","https:\u002F\u002Fprofiles.wordpress.org\u002Fx-nicon\u002F","\u003Cp>A simple plugin that allows to set the date for the posts, after which will be performed one of 3 actions: “Add prefix to title”, “Move to drafts”, “Move to trash”.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set post expire date and time\u003C\u002Fli>\n\u003Cli>Support custom post type (post and pages by default)\u003C\u002Fli>\n\u003Cli>Action for expired posts: move to drafts, move to trash or add custom prefix for title\u003C\u002Fli>\n\u003Cli>Adds class “post-expired” to post that expired on the site and in admin interface (for custom styles in theme)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use in theme:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>XNPostExpires::isExpired($post_id)\n\nXNPostExpires::dateExpiration($post_id, $date_format)\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Plugin adds post expires time after which will be performed actions: add prefix to title, move to drafts or trash.",2000,35993,66,14,"2020-11-02T17:13:00.000Z","5.5.18",[20,71,72,73,74],"expire","expired-post","posts-expiring","wordpress-post-expiry","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-post-expires.zip",85,{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":13,"num_ratings":87,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":15,"tags":91,"homepage":15,"download_link":94,"security_score":76,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":55},"expire-sticky-posts","Expire Sticky Posts","1.0","Andy von Dohren","https:\u002F\u002Fprofiles.wordpress.org\u002Favondohren\u002F","\u003Cp>A simple plugin that allows you to set an expiration date on posts. Once a post is expired, it will no longer be sticky.\u003C\u002Fp>\n\u003Cp>Have you found a bug or have a suggestion or improvement you’d like to submit? This plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Favondohren\u002FExpire-Sticky-Posts\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and pull requests are welcome!\u003C\u002Fp>\n","A simple plugin that allows you to set an expiration date on posts. Once a post is expired, it will no longer be sticky.",1000,14012,2,"2014-12-20T00:00:00.000Z","4.0.38","3.6",[20,71,92,93],"posts","sticky","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpire-sticky-posts.1.0.zip",{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":85,"downloaded":103,"rating":13,"num_ratings":104,"last_updated":105,"tested_up_to":106,"requires_at_least":107,"requires_php":108,"tags":109,"homepage":112,"download_link":113,"security_score":76,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":55},"gravity-forms-entry-expiration","Entry Expiration for Gravity Forms","2.2.1","Travis Lopes","https:\u002F\u002Fprofiles.wordpress.org\u002Ftravislopes\u002F","\u003Cblockquote>\n\u003Ch4>\u003Ca href=\"https:\u002F\u002Fcosmicgiant.com\u002Fplugins\u002Fentry-automation\u002F?utm_source=wordpress&utm_medium=readme&utm_campaign=readme\" rel=\"nofollow ugc\">Entry Automation for Gravity Forms\u003C\u002Fa> makes entry deletion more powerful and allows you to export your entries too!\u003C\u002Fh4>\n\u003Cp>Entry Expiration started out as a simple tool to automatically remove your old form entries. But what if you need more control over when entries are deleted? Want to apply conditional logic to target specific entries? Or maybe delete specific field values rather than the whole entry? Need to generate an export file before getting rid of those entries?\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcosmicgiant.com\u002Fplugins\u002Fentry-automation\u002F?utm_source=wordpress&utm_medium=readme&utm_campaign=readme\" rel=\"nofollow ugc\">Check out Entry Automation\u003C\u002Fa> today!\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>When integrating Gravity Forms with a third-party service, it’s often not necessary to keep entries around after a short period of time as you already have the data imported elsewhere.\u003C\u002Fp>\n\u003Cp>Entry Expiration for Gravity Forms allows you to automatically delete Gravity Forms entries older than a defined timeframe. After activating the plugin, set the oldest age for an entry on the Entry Expiration Settings page. At midnight, the plugin will delete all entries on enabled forms that are older than the time you set.\u003C\u002Fp>\n","Automatically remove old form entries on a custom, defined schedule",65002,4,"2023-08-01T20:36:00.000Z","6.3.0","5.3.0","5.3",[110,20,111],"entry","gravity-forms","https:\u002F\u002Ftravislop.es\u002Fplugins\u002Fgravity-forms-entry-expiration\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgravity-forms-entry-expiration.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":125,"last_updated":126,"tested_up_to":127,"requires_at_least":90,"requires_php":15,"tags":128,"homepage":15,"download_link":129,"security_score":42,"vuln_count":14,"unpatched_count":14,"last_vuln_date":130,"fetched_at":55},"simple-post-expiration","Simple Post Expiration","1.0.1","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>A simple plugin that allows you to set an expiration date on posts. Once a post is expired, “Expired” will be prefixed to the post title.\u003C\u002Fp>\n\u003Cp>You can show the expiration status of a post using the [expires] short code.\u003C\u002Fp>\n\u003Cp>The [expires] short code accepts 5 optional parameters:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>expires_on – The text to be shown when a post has not yet expired. Default: \u003Ccode>This item expires on: %s\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>expired – The text to be shown when a post is expired. Default: \u003Ccode>This item expired on: %s\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>date_format – The format the expiration date should be displayed in\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>class – The class or classes given to the DIV element\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>id – The ID given to the DIV element\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The \u003Ccode>%s\u003C\u002Fcode> will be replaced with the expiration date.\u003C\u002Fp>\n\u003Cp>Have you found a bug or have a suggestion or improvement you’d like to submit? This plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpippinsplugins\u002FSimple-Post-Expiration\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and pull requests are welcome!\u003C\u002Fp>\n","A simple plugin that allows you to set an expiration date on posts. Once a post is expired, \"Expired\" will be prefixed to the post title.",500,16297,92,7,"2016-10-10T15:26:00.000Z","4.7.32",[20,71,92],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-post-expiration.zip","2025-04-01 00:00:00",{"attackSurface":132,"codeSignals":152,"taintFlows":160,"riskAssessment":161,"analyzedAt":167},{"hooks":133,"ajaxHandlers":148,"restRoutes":149,"shortcodes":150,"cronEvents":151,"entryPointCount":23,"unprotectedCount":23},[134,139,143],{"type":135,"name":136,"callback":137,"file":138,"line":43},"action","admin_menu","pppex_add_admin_menu","ppp-extension.php",{"type":135,"name":140,"callback":141,"file":138,"line":142},"admin_init","pppex_settings_init",98,{"type":144,"name":145,"callback":146,"file":138,"line":147},"filter","ppp_nonce_life","pppex_nonce_life",136,[],[],[],[],{"dangerousFunctions":153,"sqlUsage":154,"outputEscaping":156,"fileOperations":23,"externalRequests":23,"nonceChecks":23,"capabilityChecks":14,"bundledLibraries":159},[],{"prepared":23,"raw":23,"locations":155},[],{"escaped":157,"rawEcho":23,"locations":158},3,[],[],[],{"summary":162,"deductions":163},"The \"ppp-extension\" v1.0.4 plugin exhibits a strong security posture based on the provided static analysis. The absence of any identifiable attack surface entry points, coupled with 100% proper output escaping and the exclusive use of prepared statements for SQL queries, indicates excellent coding practices. Furthermore, the lack of dangerous functions, file operations, external HTTP requests, and zero taint flows suggest a well-contained and secure codebase.  The single capability check, while present, doesn't mitigate the lack of other authorization checks on potential (though absent) entry points.\n\nWhile the static analysis is overwhelmingly positive, the complete absence of nonce checks is a notable omission, especially if any future functionality were to introduce AJAX or similar interactions. The plugin's vulnerability history is clean, with zero recorded CVEs. This, combined with the robust static analysis, suggests a developer who is either very security-conscious or the plugin is relatively new\u002Fsimple, thus not yet a target. The primary concern is the potential for future vulnerabilities if new features are added without careful consideration for nonce and capability checks on all new entry points, as the current analysis shows no such checks are implemented in the existing structure.\n\nIn conclusion, \"ppp-extension\" v1.0.4 appears to be a highly secure plugin at this moment. Its strengths lie in its clean code, proper sanitization, and lack of known vulnerabilities. The main weakness is the complete absence of nonce checks, which could become a significant risk if the plugin's functionality expands. However, given the current lack of attack surface, this is a theoretical concern rather than an immediate exploitable one. The plugin is in a good state, but vigilance is recommended for future updates.",[164],{"reason":165,"points":166},"Missing nonce checks on potential entry points",5,"2026-03-16T22:21:26.556Z",{"wat":169,"direct":174},{"assetPaths":170,"generatorPatterns":171,"scriptPaths":172,"versionParams":173},[],[],[],[],{"cssClasses":175,"htmlComments":181,"htmlAttributes":182,"restEndpoints":186,"jsGlobals":187,"shortcodeOutput":188},[176,177,178,179,180],"wrap","notice","notice-warning","is-dismissible","description",[],[183,184,185],"min","max","step",[],[],[]]