I am 24 years old, married to the greatest woman on the planet, and a christian. I am a web developer at Centresource, an interactive strategies firm in Nashville, TN. I also do freelance design and development work on the side, so drop me a line if you’re interested.
Prevent Drupal from caching your module's output
Well, it's been an incredibly long time since I've written anything, so here's a little something to get started again.
I wrote a in-house Drupal module for one-use ticket file streaming. Basically, a unique identifier is used to stream the file, then is discarded, making the url invalid after one use. Everything worked fine for logged-in users, but just today I noticed a giant hole: users who are not logged in can access the file as much as they want, thanks to Drupal's caching system.
I'm not knocking the caching system, if fact, it's working exactly the way it's supposed to. But that's counter productive for my needs. I posted my predicament on #drupal, and Crell pointed me right to the solution, using a module he wrote to disable caching for specific pages.
If you want to disable caching for your module, you need to set the global configuration for caching to false in your hook_init() like so:
function audiostreamer_init() {
$GLOBALS['conf']['cache'] = FALSE;
}
So, next time you need to disable caching in your module, you know what to do.
Caveat emptor: Disabling caching will affect your site's performance. Tread lightly.
Post new comment