Estou tentando escrever o htaccess anti-link "final" ...
Você pode encontrar muitos exemplos / tutoriais / geradores na rede, mas muitos deles estão errados ou incompletos (ou até ambos).
Esses são os recursos que estou procurando:
- É necessário bloquear o vínculo ativo para obter uma lista de extensões de arquivo quando HTTP_REFERER é um site estrangeiro.
- Deve permitir a vinculação ativa para o domínio atual (duh) sem codificá-lo no .htaccess.
- Para o domínio atual, ele deve funcionar em http e https.
- Para o domínio atual, ele deve funcionar com www e sem www.
- É necessário poder adicionar domínios de exceção a essas regras (como nosso amigo Google) e esses domínios devem funcionar em http e https e com www ou sem www.
Isto é o que eu consegui até agora:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com/.*$ [NC]
RewriteRule \.(gif|jpe?g|png|zipx?)$ - [NC,F]
</IfModule>
Minhas perguntas:
- Como evitar o código fixo
mydomain.com
no .htaccess? (Seria ótimo poder implantar esse .htaccess em todos os meus domínios sem precisar modificá-lo para cada um deles.) - No meu RewriteRule,
gif|jpe?g|png|zipx?
é equivalente agif|jpg|jpeg|png|zip|zipx
certo? (Desculpe ainda ser novo em expressões regulares.) - Você vê algo ruim no meu acesso. Que eu não conheço?
Para o primeiro, eu sei que é um pouco possível. O mais próximo que encontrei é esse trecho que remove o www da URL sem codificar o domínio. Existe uma maneira de usar esse método para a minha pergunta # 1?
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]
Atualizar:
Estou ciente das soluções que exibirão uma imagem com marca d'água em vez da imagem normal. Mas não estou procurando esse tipo de solução. Eu quero uma solução universal (servir 403 erros) que funcione para todos os tipos de arquivos binários (zip, exe, iso, jpg, png, gif ...).