Skip to content

Adding signed tokens to generated URLs

Compare
Choose a tag to compare
@weotch weotch released this 29 Jun 17:51
· 170 commits to master since this release

Now, by default, urls generated with Croppa::url() will have a ?token=xxxxxxxx parameter added to them. The token is generated by hashing the parameters of your request (src image, dimensions, etc) combined with your Laravel app's encryption key. For example, a new Croppa 4.1 URL might look like:

http://domain.com/uploads/01/08/file-200x100.jpg?token=c21ed23af0228053c10b283a93b30d8c

This prevents the modifying of Croppa parameters after url generation which could lead to malicious users consuming CPU and storage generating unnecessary crops. As such, it more effectively accomplishes what the max_crops config was designed for; max_crops is now disabled by default.

If you are generating URLs outside of Croppa::url(), like the croppa.js module, you can disable this feature by setting the signing_key config to false.

Thanks to Glide for the inspiration for this feature.