Project

General

Profile

Docs ModTriggerBeforeDownload » History » Revision 5

Revision 4 (moo, 2007-07-07 15:29) → Revision 5/13 (moo, 2007-07-07 15:30)

[[TracNav(DocsToc)]] [[TracNav(DocsToc))]] 
 {{{ 
 #!rst 
 ======================= 
 Trigger before Download 
 ======================= 

 ------------------------- 
 Module: mod_trigger_b4_dl 
 ------------------------- 

 .. meta:: 
   :keywords: lighttpd, hot-linking, deep-linking 

 .. contents:: Table of Contents 

 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. 

 Requirements 
 ------------ 

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

 Options 
 ======= 

 :: 

   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 

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

 Installation 
 ============ 

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

 }}}