Protected Links for ExpressionEngine - secure & encrypt download links
This add-on lets you encrypt/secure download links, restrict access to the files and also display some useful statistics. It consists of module and fieldtype.
Features
- Create highly secure download links
- Display pre-generated links or generate them ‘on the fly’
- P&T Matrix support
- Serve files from local source, URL or from Amazon S3 or RackSpace CloudFiles secure containers
- Limit file access to certain members/member groups/IP
- Limit file access based on custom member profile field value
- Limit number of times file can be downloaded by same user
- Expire the download link after some time
- Display file/link donwload statistics
- Display member download statistics
Find more info in the documentation
For support, please email .(JavaScript must be enabled to view this email address).
Comments
Comments are closed. To get support, email .(JavaScript must be enabled to view this email address).




hi! i can help you test it ñ_ñ
Is there any way to output the full local storage path on the frontend?
I’m updating the files via phing through SVN and am trying to get the absolute path to display the last modified date and time. thanks.
No, it’s not possible to output the “real” path/URL on the frontend. You can however run SQL query to display it.
I have a potential website which requires:
1. Allow users to register to become a member.
2. Once logged-in, users can access a directory of password-protected articles, effectively a list of approx 100 additional pages (which will be single-paged, channel entries… each entry/page having its own code/password)
3. The website needs to track which articles the member has accessed, so they can easily see what articles they have ‘unlocked’ so they re-visit that article without being prompted for code/password, while listing articles that are still ‘locked’.
4. the password needs to be configurable/editable and not random.
Is this possible with this add-on? Many thanks.
Hi,
the module does not generate any username/password combination. You can serve html pages using it, and have stats who visited/downloaded what (backend only for now). But the access will be granted based on member’s profile data (group, custom field etc.) and not based on separate password. Checking whether this is first visit or not is also not possible.
So while Protected Links will probably satisfy some of your needs, it will not give you the desired setup “out of the box”
NB You may also want to check Entry access
How do you make certain that guests are allowed to download? What all checks will it run through after the “allow guest access”? Guests doesn’t show up in “allow access to group”. When I log out of the admin, the link shows up, but it will just go to a white page and not start the download. Any tips? Thanks.
Kevin, if you allow guest access then all other checks are skipped.
If you get blank page then you probably provided wrong link/path
Fell free to email me the details if you continue experiencing problems
Can you enter the parameters as part of a channel entry, essentially replacing the upload entry? We would upload the document separately, say through the File Manager. We have a situation where we want to provide download capabilities in a secure fashion, to a specific user, of their documents that belong to them and only them. We could enter the parameters in a custom field, set aside for just this purpose… or did the documentation say that, and I just misunderstood?
It is not possible to enter any parameter using channel entry fields. The only thing you can do withing a channel entry is to associate entry with download link using fieldtype.
In your situation, you can restrict the download based on custom profile field.
Yuri,
I’d really like to use this module, but I can’t figure out how to. Can you provide an example or two? I’d really like to use the fieldtype, but when I select Protected Links as the fieldtype, nothing happens. And when I create a link and try to display it, it does not appear…
I think examples would be extremely helpful. Thanks.
Geof
Geoff, everything should be pretty straightforward. You create a link in Protected Links Control Panel (make sure you set ‘use as custom field value’ to ‘yes’). Create a custom field of ‘Protected Links’ fieldtype (named, say, ‘my_field’). Then, select the filename in dropdown for ‘my_field’. Save the entry. In your template, place an instance of {my_field}. On your pages you should see the download link.
If you’re still not able to get this work, email .(JavaScript must be enabled to view this email address)
I have a similar situation as an above poster - I want to have a list of links for a user of documents that only belong to them. If I were to use this module, do I need to create channel entries for each document, with corresponding filetype upload, and somehow tag them to a user? Or is there an easier way? Can you expand on the “custom profile field” approach? Thank you. I have read through the documentation and cannot figure it out.
Hello John,
if you’re using Protected Links fieldtype, you can assign multiple links to the channel entry by using the fieldtype for P&T Matrix cell.
“Custom profile field” approach means that the links are shown (and access granted) only if certain field in member’s profile matches certain value. It is defined for each link individually in module’s control panel.
So, for example, you have ‘Group of files #1’. In the profile for each member who should have access, define a custom field named ‘Download access’ and give it value ‘Group of files #1’. Then, create link for each file in the group and grant access based on custom field ‘Download access’ having value ‘Group of files #1’. Next, add the links to the entries using fieldtype or to template using tag.
You may also consider using Protected Links together with Entry access module. But note that it just hides the contents (including links, if any) - the links still need to be secured, if they contain confidential information.
I’m getting the error “You are not allowed to access this file” even with the parameter guest_access=“yes” included in the tag: {exp:protected_links:generate url=’{research_document}’ guest_access=‘yes’ expire_in=‘5 days’ new_link=‘yes’ only_link=‘yes’ content-type=‘application/pdf’ filename=‘doc.pdf’}
Appears this is working correctly, but only if the user is on the page where the link is generated, despite having set the deny_hotlink=”” parameter to no.