{"id":70543,"date":"2017-06-22T06:17:12","date_gmt":"2017-06-22T06:17:12","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/secure-downloads\/"},"modified":"2025-12-03T09:48:59","modified_gmt":"2025-12-03T09:48:59","slug":"secure-downloads","status":"publish","type":"plugin","link":"https:\/\/ta-lk.wordpress.org\/plugins\/secure-downloads\/","author":3710392,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.5","stable_tag":"1.2.5","tested":"6.9.4","requires":"4.0","requires_php":"5.2.4","requires_plugins":null,"header_name":"Secure Downloads","header_author":"wpdevelop, oplugins","header_description":"Easy generate and send secure expiring links for file downloads","assets_banners_color":"","last_updated":"2025-12-03 09:48:59","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/oplugins.com\/plugins\/secure-downloads","header_plugin_uri":"https:\/\/oplugins.com\/plugins\/secure-downloads","header_author_uri":"https:\/\/oplugins.com\/","rating":4.1,"author_block_rating":0,"active_installs":700,"downloads":31044,"num_ratings":10,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"wpdevelop","date":"2018-09-21 05:25:46"},"1.1":{"tag":"1.1","author":"wpdevelop","date":"2018-11-22 08:13:01"},"1.1.1":{"tag":"1.1.1","author":"wpdevelop","date":"2019-05-12 06:44:05"},"1.1.2":{"tag":"1.1.2","author":"wpdevelop","date":"2019-05-28 07:41:47"},"1.1.3":{"tag":"1.1.3","author":"wpdevelop","date":"2019-10-28 07:57:27"},"1.1.4":{"tag":"1.1.4","author":"wpdevelop","date":"2020-03-10 09:26:55"},"1.1.5":{"tag":"1.1.5","author":"wpdevelop","date":"2020-12-01 09:39:43"},"1.2":{"tag":"1.2","author":"wpdevelop","date":"2022-01-27 09:40:55"},"1.2.1":{"tag":"1.2.1","author":"wpdevelop","date":"2023-03-18 10:47:38"},"1.2.2":{"tag":"1.2.2","author":"wpdevelop","date":"2024-07-10 10:27:20"},"1.2.4":{"tag":"1.2.4","author":"wpdevelop","date":"2024-11-18 07:08:13"},"1.2.5":{"tag":"1.2.5","author":"wpdevelop","date":"2025-12-03 09:48:59"}},"upgrade_notice":{"1.1":"<p>Latest WordPress version support. Minor fixes and improvements.<\/p>"},"ratings":{"1":1,"2":1,"3":1,"4":0,"5":7},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1683331,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1683331,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.2","1.2.1","1.2.2","1.2.4","1.2.5"],"block_files":[],"assets_screenshots":{"screenshot-01.png":{"filename":"screenshot-01.png","revision":1683162,"resolution":"1","location":"assets","locale":""},"screenshot-02.png":{"filename":"screenshot-02.png","revision":1683162,"resolution":"2","location":"assets","locale":""},"screenshot-03.png":{"filename":"screenshot-03.png","revision":1683162,"resolution":"3","location":"assets","locale":""},"screenshot-04.png":{"filename":"screenshot-04.png","revision":1683162,"resolution":"4","location":"assets","locale":""},"screenshot-05.png":{"filename":"screenshot-05.png","revision":1683162,"resolution":"5","location":"assets","locale":""},"screenshot-06.png":{"filename":"screenshot-06.png","revision":1683162,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"<strong>Send<\/strong> or simply generate <strong>secure download links<\/strong> to  your protected files.","2":"<strong>Sortable List of your files<\/strong> - edit and sort (drag and drop) list  of your protected files.","3":"<strong>CSV List of your files<\/strong> - upload files to  protected folder, edit file title, description, and version number.","4":"<strong>Settings<\/strong> - configure different options.","5":"<strong>Emails<\/strong> - activate and configure email template for sending to your customers and download notification email.","6":"<strong>Email Delivery<\/strong> - confirmation of email sending."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5346,5440,142835,175,230938],"plugin_category":[],"plugin_contributors":[145855,78580],"plugin_business_model":[],"class_list":["post-70543","plugin","type-plugin","status-publish","hentry","plugin_tags-digital-downloads","plugin_tags-downloads","plugin_tags-file-downloads","plugin_tags-links","plugin_tags-protected-links","plugin_contributors-oplugins","plugin_contributors-wpdevelop","plugin_committers-wpdevelop"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/secure-downloads\/assets\/icon-128x128.png?rev=1683331","icon_2x":"https:\/\/ps.w.org\/secure-downloads\/assets\/icon-256x256.png?rev=1683331","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/secure-downloads\/assets\/screenshot-01.png?rev=1683162","caption":"<strong>Send<\/strong> or simply generate <strong>secure download links<\/strong> to  your protected files."},{"src":"https:\/\/ps.w.org\/secure-downloads\/assets\/screenshot-02.png?rev=1683162","caption":"<strong>Sortable List of your files<\/strong> - edit and sort (drag and drop) list  of your protected files."},{"src":"https:\/\/ps.w.org\/secure-downloads\/assets\/screenshot-03.png?rev=1683162","caption":"<strong>CSV List of your files<\/strong> - upload files to  protected folder, edit file title, description, and version number."},{"src":"https:\/\/ps.w.org\/secure-downloads\/assets\/screenshot-04.png?rev=1683162","caption":"<strong>Settings<\/strong> - configure different options."},{"src":"https:\/\/ps.w.org\/secure-downloads\/assets\/screenshot-05.png?rev=1683162","caption":"<strong>Emails<\/strong> - activate and configure email template for sending to your customers and download notification email."},{"src":"https:\/\/ps.w.org\/secure-downloads\/assets\/screenshot-06.png?rev=1683162","caption":"<strong>Email Delivery<\/strong> - confirmation of email sending."}],"raw_content":"<!--section=description-->\n<p>Secure Downloads plugin generate <strong>secure download links<\/strong> for protected files and can <strong>send emails<\/strong> to your clients for downloading. \n<strong>Links can expire<\/strong> after a predefined time, and you can set <strong>IP lock<\/strong> for specific download. Download links does not show real location of files at your server.\nYou can track every download of files by receiving email about file download with detailed info about download.<\/p>\n\n<blockquote>\n  <p><a href=\"https:\/\/oplugins.com\/plugins\/secure-downloads\/\" title=\"Secure Downloads Homepage\">Plugin Homepage<\/a> | <a href=\"https:\/\/oplugins.com\/plugins\/secure-downloads\/#support\" title=\"Support\">Support<\/a><\/p>\n<\/blockquote>\n\n<h4>FEATURES<\/h4>\n\n<ul>\n<li>Securely distribute your files and track every download.<\/li>\n<li>Upload your files via familiar WP interface.<\/li>\n<li>Define Title, Description and <strong>Version Number<\/strong> at \"Attachment details\" for your protected files<\/li>\n<li>Plugin upload files into secure, protected folder. Website visitors will not have direct access to such  files.<\/li>\n<li>Generate secure links to your protected files,  which  does not show real location of file.<\/li>\n<li>Links can expire after  specific time.<\/li>\n<li>Links can  be locked to specific IP or IP mask (network).<\/li>\n<li>Configure email template with different parameters.<\/li>\n<li>Send emails to your customers with secure links for download your protected files.<\/li>\n<li>Monitor downloading of each file, by receiving email notification about file download with detailed info about download.<\/li>\n<li>Fast configure your protected files via CSV form. Useful for saving or editing list of files in one form.<\/li>\n<li>Easy reorder list of files via drag and drop  interface.<\/li>\n<li>Configure URLs for pages with  warning,  like \"link expired notice\".<\/li>\n<li>Mobile friendly.<\/li>\n<\/ul>\n\n<h4>SECURE DOWNLOADS IS GREAT FOR<\/h4>\n\n<ul>\n<li>Distribute you files after purchase<\/li>\n<li>Delivery updates of your products to your customers<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic installation<\/h4>\n\n<p>To do an automatic install, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.\nIn the search field type \"Secure Downloads\" and click Search Plugins. \nOnce you've found the plugin you can view details about it such as the the point release, rating and description. \nNow, you can install it by clicking \"Install Now\".<\/p>\n\n<h4>Manual installation via WordPress admin panel<\/h4>\n\n<ul>\n<li>Download plugin zip file to your computer<\/li>\n<li>In your WordPress admin panel, navigate to the Plugins menu and click Add New.<\/li>\n<li>Click \"Upload Plugin\" button and hit \"Choose File\" button<\/li>\n<li>When the popup appears select your downloaded zip file of plugin<\/li>\n<li>Follow the on-screen instructions and wait as the upload completes.<\/li>\n<li>When it's finished, activate the plugin via the prompt. A message will show confirming activation was successful.<\/li>\n<\/ul>\n\n<h4>Manual installation via FTP<\/h4>\n\n<ul>\n<li>Download plugin zip file to your computer and unzip it <\/li>\n<li>Using an FTP application, or your hosting control panel, upload the unzipped plugin folder to your WordPress installation's <code>wp-content\/plugins\/<\/code> directory.<\/li>\n<li>In your WordPress admin panel, navigate to the Plugins menu and find your uploaded plugin<\/li>\n<li>Click on Activate link under the plugin. A message will show confirming activation was successful.<\/li>\n<\/ul>\n\n<p>That's it!<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='adding%20new%20files'><h3>Adding New Files<\/h3><\/dt>\n<dd><ul>\n<li>Open Secure Downloads &gt; Files menu page in WordPress admin panel<\/li>\n<li>Click on \"Add New\" button and upload your files. Please note,  you must to  upload new files via menu  of plugin, for saving these files secure. Do not use previously uploaded files via standard media\/pages\/posts uploader.<\/li>\n<li>Enter Title, Version Number and Description at \"Attachment details\" section.<\/li>\n<li>Select one or multiple files, click insert button and Save changes.<\/li>\n<\/ul><\/dd>\n<dt id='configure%20settings'><h3>Configure Settings<\/h3><\/dt>\n<dd><ul>\n<li>Open Secure Downloads &gt; Settings menu page in WordPress admin panel<\/li>\n<li>Configure different settings, like secret key  for hash generating, warning URLs, default options, etc...<\/li>\n<li>At Secure Downloads &gt; Settings &gt; Emails menu page you can  configure email templates that  are sending to your customers and administrator<\/li>\n<\/ul><\/dd>\n<dt id='secure%20links%20for%20file%20downloads'><h3>Secure Links for File Downloads<\/h3><\/dt>\n<dd><ul>\n<li>Open Secure Downloads menu page in WordPress admin panel<\/li>\n<li>Select specific file in selectbox<\/li>\n<li>Optionally enter email,  if you need to send protected link to  your customer<\/li>\n<li>Configure link expire time, optionally configure IP loc for file download, and activate option to send copy of email to administrator<\/li>\n<li>Click on Generate or Send button for generation or sending email with secure link to your protected file<\/li>\n<li>Check status of action<\/li>\n<\/ul><\/dd>\n<dt id='languages'><h3>Languages<\/h3><\/dt>\n<dd><p>Plugin supports following languages:<\/p>\n\n<ul>\n<li>English<\/li>\n<\/ul><\/dd>\n<dt id='requirements'><h3>Requirements<\/h3><\/dt>\n<dd><ul>\n<li>PHP 5.2.4 or newer,<\/li>\n<li>MySQL version 5.0 or newer,<\/li>\n<li>WordPress 4.0 or newer,<\/li>\n<li>jQuery 1.7.1 or newer<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.5<\/h4>\n\n<ul>\n<li><strong>Fix<\/strong> Notice: Function _load_textdomain_just_in_time was called incorrectly.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fixed Fatal error: Uncaught Error: Call to undefined function oper_plugin_url() in opsd-css.php<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fixed a vulnerability that could occur if a WordPress user had access to the plugins menu (in the WordPress admin panel) and that user saved links that were not what they expected. The file link must contain a secret folder and no longer supports \"up-leveling\".<\/li>\n<li>Updated UI of settings tabs with a modern design. (2.0.3.1)<\/li>\n<li>Removed premium addon links in admin panel.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Added never expire products option (1.2.2.2)<\/li>\n<li>Load some CSS files only at  admin panel (1.2.2.1)<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li><strong>New<\/strong>. Icon for WordPress side menu. (2.0.1.2)<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li><strong>Compatibility<\/strong>. Support <strong>WordPress 5.7<\/strong> - update of admin panel styles. (1.2.1)<\/li>\n<li><strong>Fix<\/strong> Warning Deprecated: The each() function is deprecated. (1.2.2)<\/li>\n<li><strong>Fix<\/strong> Deprecated: Function get_magic_quotes_runtime() is deprecated(1.2.3)<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li><strong>Compatibility<\/strong>. Support <strong>WordPress 5.5<\/strong> - update of admin panel styles. (1.1.5.1)<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li><strong>Compatibility<\/strong>. Support <strong>WordPress 5.3<\/strong> - update of admin panel styles. (2.0.13.1)<\/li>\n<li><strong>Under Hub<\/strong> Added hook: \" add_filter( 'opsd_define_ip_mask', 'my_opsd_define_ip_mask', 10, 1 );  function my_opsd_define_ip_mask (  $ip_mask ){ return $ip_mask } \" for ability to override mask  for IP (1.1.4.2)<\/li>\n<li><strong>Fix<\/strong> Checking of saving closing window state (nonce of window) in Ajax request only for current plugin (1.1.4.1)<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li><strong>Fix<\/strong> Notice: Array to string conversion in ..\\secure-downloads\\core\\any\\api-emails.php (1.1.3.1)<\/li>\n<li><strong>Under Hub<\/strong> Ability to  use action  for programmatically  send secure email. (1.1.3.2)  Example: do_action( 'opsd_send_secure_download_email_to_user', array( 'opsd_email_to' =&gt; 'email@server.com', 'send_copy_to_admin' =&gt; 'Off', 'opsd_product_selection' =&gt; 1, 'opsd_product_expire' =&gt; '+ 24 hours', 'continue_without_product' =&gt; false ) );<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li><strong>Fix<\/strong> conflict issue with  Booking Calendar plugin (1.1.2.1)<\/li>\n<li><strong>Fix<\/strong> Fatal error: Uncaught ArgumentCountError: Too few arguments to function opsd_recheck_plugin_locale()\u2026 in PHP 7.2 (1.1.2.2)<\/li>\n<li><strong>Fix<\/strong> Notice: A non well formed numeric value encountered in ... in PHP 7.2 (1.1.2.3)<\/li>\n<li><strong>Fix<\/strong> Possible Fatal error: Cannot redeclare debuge_log(),  if used with  some other new plugins. (1.1.2.4)<\/li>\n<li><strong>Fix<\/strong> Error \"404 Not found\" \"..\/assets\/libs\/chosen\/chosen.css\" (1.1.2.5)<\/li>\n<li><strong>Fix<\/strong> Notice: A non well formed numeric value encountered in ..\/opsd-class-notices.php in PHP 7.2 (1.1.2.6)<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li><strong>Fix<\/strong> issue of checkboxes and radio buttons  height in new Firefox updates in admin panel,  otherwise sometimes, there exist weird artefact (1.1.1.1)<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Add additional warning text  about ngnix servers. (1.1.1)<\/li>\n<li>Load  JavaScript variables only  for admin panel (1.1.2)<\/li>\n<li>Fix. Issue Fatal error: Uncaught Error: [] operator not supported for strings in ..\\wp-content\\plugins\\secure-downloads\\core\\admin\\api-settings.php:552  (1.1.3)<\/li>\n<li>Fix. Issue ( ! ) Notice: Array to string conversion in  ...\\class-admin-settings-api.php:929 (1.1.4)<\/li>\n<li><strong>Improvement<\/strong> Updated all links from  http to https of plugin website.<\/li>\n<li><strong>Improvement<\/strong> Auto select product based on 'product_name' parameter in URL (1.1.5)<\/li>\n<li><strong>Improvement<\/strong> Auto select product based on 'product_id' parameter in URL (1.1.5)<\/li>\n<li><strong>Improvement<\/strong> Auto insert email based on 'email' parameter in URL Example: www.server.com?page=opsd&amp;email=someemail%40server.com&amp;product_name=text_file (1.1.5)<\/li>\n<\/ul>","raw_excerpt":"Easy generate and distribute secure links for file downloads, that can expire, and track every download.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/70543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=70543"}],"author":[{"embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpdevelop"}],"wp:attachment":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=70543"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=70543"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=70543"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=70543"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=70543"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=70543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}