Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
This storage backend stores files named after their hash value and adds a symlink with the original name. No duplication and you can SEO your heart out.
Seo ville slugger will solve the problems you are having with django, media files and filenames.
Django's default storage backend has some pretty annoying behaviour. When uploading the same file for the second time, you get a second file on disk with some kind of crazy hash value added at the end.
There are 2 kinds of people that are not happy with that.
This storage backend stores files named after their hash value and adds a symlink with the original name. No duplication and you can SEO your heart out.
Ideally, you would want to have long cache expiry headers for your site’s uploaded files, Just like you’ve got with your static files. That usually poses a problem in conjunction with the pretty urls. It is safe to put long expiry headers when using SEOStorage, because the files are distributed over folders named after a tiny piece of the hash. Obviously this small hash could lead to collisions, so the storage backend will prevent it as follows:
In the rare case we encounter two different files with exactly the same filename, and they end up in the same folder due to hash collision, the new file will not get the pretty SEO url. Instead the full hashed filename will be used instead. In these rare cases you might get a SEO unfriendly url.
We can’t worry about that can we? Phat phat chance anyone will notice!
You can use the storage backend on a global level by adding the following to your django settings::
DEFAULT_FILE_STORAGE = 'seo.ville.slugger.SEOStorage'
Suppose you want sorl thumbnail to also have nice urls based on the original filename?::
THUMBNAIL_BACKEND = 'seo.ville.sorl.SEOThumbnailBackend'
THUMBNAIL_STORAGE = 'seo.ville.sorl.SEOThumbnailStorage'
With sorl you can pass the slug as a parameter to the thumbnail tag::
{% thumbnail image "330x450" upscale=True slug=slug as thumb %}
HASH_BLOCKSIZE
change this if you think hashing of the file use too much or not enough memory
HASH_DIRNAME_SLICE_SIZE
change this if you find there are too many collisions.
FAQs
This storage backend stores files named after their hash value and adds a symlink with the original name. No duplication and you can SEO your heart out.
We found that seo-ville-slugger demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.