Download the PHP package fritzmg/contao-file-access without Composer

On this page you can find all versions of the php package fritzmg/contao-file-access. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package contao-file-access

Contao File Access

Contao extension to allow direct file access to protected files for logged in front end users.

Usage

After installing this extension, you will have the ability to allow members to access files, that are not made public. Simply edit a folder and enable the allowed member groups. If you select none, the file will not be accessible in general (but can still be accessed via the download content element for example). Users will have access to files, if they are allowed to access any parent folder, i.e. each folder inherits the member group access setting.

Screenshot

Since version 1.1.0 the script generates a regular Contao 401 page when a file is accessed without sufficient permissions (403 for older Contao versions). Thus you are able to do the following:

  1. Create a page of the type 401 Not authenticated in your site structure with no redirect setting.
  2. Create a login module with no redirect setting.
  3. Add this login module to the 401 Not authenticated page.

Now, when a user which has not logged in yet opens the link to a file, he will be presented with the login form instead. After he logged in, he will be "redirected back" to the file again (there is no redirect happening actually, the user stays on the same URL).

Responses

User Homes

Since version 2.3.0 you are also able to grant front end users access to the files in their user home directory in the settings of the member.

Protect Resized Images

Since version 2.4.0 it is possible to also automatically protect any resized images (thumbnails) of protected files which would otherwise be publicly available under assets/images. You can enable this feature in your config:

Note that this will however put additional load on your application as all requests to any resized protected image must be processed by the application.

Also note that due to technical limitations you will always have access to these images (i.e. see these images) if you are logged into the back end in your current browser session.

Important Notes

Since this access restriction is done via PHP, the file is also sent to the client via PHP. This means that the max_execution_time needs to be sufficiently large, so that any file can be transferred to the client before the script is terminated. Thus you should be aware that problems can occur if a file is either very large or the client's connection to the server is very slow, or both. The script tries to disable the max_execution_time, though there is no guarantee that this will work. Also there can be other timeouts in the webserver.

If you did not enable protect_resized_images (see above) and you use thumbnails of protected images, the URL to these thumbnails can still be accessed by anyone.

Acknowledgements

Development funded by KASTNER and ieQ-systems GmbH & Co. KG.


All versions of contao-file-access with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4 || ^8.0
contao/core-bundle Version ^4.13 || ^5.0
contao/image Version ^1.2
symfony/config Version ^5.2 || ^6.0
symfony/dependency-injection Version ^5.2 || ^6.0
symfony/http-foundation Version ^5.2 || ^6.0
symfony/http-kernel Version ^5.2 || ^6.0
symfony/security-core Version ^5.2 || ^6.0
webmozart/path-util Version ^2.3
symfony/service-contracts Version ^2.5 || ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package fritzmg/contao-file-access contains the following files

Loading the files please wait ....