O lighttpd tem um módulo Trigger before Download que requer que um usuário pressione determinadas páginas para adicionar o IP ao hash que permitiu o acesso ao recurso protegido. Houve uma empresa que escreveu um módulo do Apache chamado TrafficGuardian que fez a mesma coisa.
Outro método seria manter um hash de sessão que rastreasse os recursos visualizados e seu recurso protegido verificasse se o hash tinha todos os valores definidos.
Muitas maneiras diferentes de fazer isso.