Evite hotlinking dentro do mesmo site usando .htaccess

2

Os problemas que estou enfrentando é como impedir o hotlink de dentro de um site. O que eu quero fazer é bloquear www.website.com/user/xxx a partir do hotlinking de um CSS, mas permita que www.website.com/user/aaa use o CSS usando o .htaccess.

- Tanto o usuário xxx quanto o usuário aaa está usando o arquivo css www.mywebsite.com/css.css, eu só quero permitir que o usuário aaa possa usá-lo e não o usuário xxx

O que eu consegui chegar até agora é colocar um .htaccess em www.mywebsite.com para permitir que apenas o usuário ative o css.

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.website.com/user/aaa [NC]
RewriteRule \.(css|jpg|jpeg|png|gif)$ http://website.com/donotsteal [NC,R]

Quando eu coloco isso no .htaccess, ele bloqueia os dois sites www.website.com/user/xxx e www.website.com/user/aaa de hotlinking the css

O que eu quero fazer é permitir que somente esta página www.website.com/user/aaa use o css e bloqueie qualquer outra coisa de hotlinking.

    
por John Smith 05.07.2011 / 00:55

1 resposta

0

Os sinalizadores [L] e / ou [F] estão faltando na sua RewriteRule link Eu não tenho certeza se isso faria a diferença?

O! no * RewriteCond% {HTTP_REFERER} ^ ou RewriteCond% {HTTP_REFERER}! ^ \ inverte a condição lógica.

Então

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://img148.imageshack.us/img148/237/hotlinkp.gif [L]

Diz se é "!" NÃO mysite então "[L]" NÃO permite que seja um negativo duplo permitir se do seu site.

A correção [L] é a bandeira de LAST - [F] é proibida e eu preciso verificar meus óculos.

    
por 05.07.2011 / 02:10