Project

General

Profile

Docs ModTriggerBeforeDownload » History » Revision 12

Revision 11 (Shtirlic, 2012-08-11 10:42) → Revision 12/13 (gstrauss, 2016-07-17 04:19)

h1. Trigger before Download 

 {{>toc}} 

 *Module mod_trigger_b4_dl* 

 h2. Description 

 Anti Hotlinking: 
 * if user requests "download-url" directly, the request is denied and he is redirected to "deny-url" 
 * if user visits "trigger-url" before requesting "download-url", access is granted 
 * if user visits "download-url" again after "trigger-timeout" has elapsed, the request is denied and he is redirected to "deny-url" 

 The trigger information is either stored locally in a gdbm file or remotely in memcached. 

 h2. Requirements 

 * libpcre 
 * libgdbm or libmemcached libmemcache (install the C client API,visit http://people.freebsd.org/~seanc/libmemcache/ and http://danga.com/memcached/apis.bml for detail.) 

 h2. Example config 

 <pre> 
 trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db" 
 trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" ) 
 trigger-before-download.trigger-url = "^/trigger/" 
 trigger-before-download.download-url = "^/download/" 
 trigger-before-download.deny-url = "http://192.168.1.5:1025/index.html" 
 trigger-before-download.trigger-timeout = 10 
 </pre> 

 If both @trigger-before-download.gdbm-filename@ and @trigger-before-download.memcache-hosts@ is set gdbm will take precedence. 

 h2. Installation 

 memcached should be started with the option -M as we don't want to remove entry if the memory is full.