[htaccess] Beschermen tegen deeplinked downloads *

Pagina: 1
Acties:

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 19-08 23:49
ik heb een directory op mijn server waar een htaccess file in staat gekoppeld aan een htpasswd file waar mensen moeten inloggen enz, gewoon beveiligde directory.

Ik heb 2 sites daarmee.

Nou heb ik een gezamelijke (niet in een van die directories) directory met allemaal files (fotos en filmpjes enz) die ik op beide sites gebruik, dus die ik share zeg maar.

Maar ik wil niet dat zo maar iedereen op internet die geen toegang heeft in een van de directories daar bij kan komen, dus ze mogen het alleen maar benaderen indien ze van een van mijn domeins komen. Nou dat werkt dus allemaal leuk en aardig, maar alleen maar met foto's!

De foto's laden gewoon mooi in beide directories (in html) en als je er direct heen gaat werkt dat niet (dat moet dus ook).

Maar, met bestanden, zoals .mpg en .exe enzo, als je een linkje hebt en je doet "save target as", dan krijg je dus wel de 403.html pagina...dus dat werkt niet.

Heeft iemand een idee hoe dit komt en wat ik er aan kan doen? Het lijkt me dat als je save as doet er toch ook wel een referal mee gegeven wordt :?


Dit is de htaccess file die in de beveiligde dirs staat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
deny from all

RewriteEngine On


AuthUserFile /home/sites/site7/.htpasswd

AuthGroupFile /dev/null
AuthName 'Please login'
AuthPAM_Enabled off 
AuthType Basic
<Limit POST GET>
require valid-user
</Limit>

<Files .*>
order allow,deny
deny from all
</Files>
satisfy any


En dit in de gezamelijke de-sharede dir...


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
AuthUserFile /dev/null
AuthGroupFile /dev/null

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://domein1.com.* [NC]
RewriteCond %{HTTP_REFERER} !^http://domein1.com:80.* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.domein1.com.* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.domein1.com:80.* [NC]

RewriteCond %{HTTP_REFERER} !^http://domein2.com.* [NC]
RewriteCond %{HTTP_REFERER} !^http://domein2.com:80.* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.domein2.com.* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.domein2.com:80.* [NC]

RewriteRule /* http://www.domein1.com/403.html [R,L]


Met de juiste domeinen natuurlijk :+

Mod_rewrite is geinstalleerd en ook staat er AllowOverride All in mn httpd.conf...

Ik heb al allerlei andere .htaccess files gezocht op got en google en geprobeerd, maar ik blijf het probleem houden...

Leef lekker in het nu, er is niks anders


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

offtopic:
Ben je een p0rn-site aan het bouwen :Y) Tevens even je topictitel opgepoetst

Professionele website nodig?


  • MisterData
  • Registratie: September 2001
  • Laatst online: 19:41
Je kunt ook je downloads in een niet-publiek beschikbare map zetten en dan met een (PHP-)script die dingen laten laden. Dan heb je volledige controle over wat er wordt gedownload ;)

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 19-08 23:49
MisterData schreef op 11 July 2003 @ 13:40:
Je kunt ook je downloads in een niet-publiek beschikbare map zetten en dan met een (PHP-)script die dingen laten laden. Dan heb je volledige controle over wat er wordt gedownload ;)
Dat zou kunnen, maar dan moet het sowieso op dezeflde server staan allemaal...maar het slaat toch nergens op dat het met een plaatje wel werkt en met een ander bestandsnaam niet ??

Leef lekker in het nu, er is niks anders


  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 19-08 23:49
curry684 schreef op 11 July 2003 @ 13:37:
offtopic:
Ben je een p0rn-site aan het bouwen :Y) Tevens even je topictitel opgepoetst
Hehe, in dit geval niet, maar het zou idd heel goed kunnen :9

Leef lekker in het nu, er is niks anders


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:56
FireFoz schreef op 11 July 2003 @ 18:45:
Dat zou kunnen, maar dan moet het sowieso op dezeflde server staan allemaal...maar het slaat toch nergens op dat het met een plaatje wel werkt en met een ander bestandsnaam niet ??
De reden daarvoor is dat de meeste browsers bij het ophalen van plaatjes de HTTP_REFERER header goed instellen. Blijkbaar doet de browser die jij gebruikt dat niet wanneer je 'Save as...' klikt. Waarschijnlijn is de HTTP_REFERER header dan gewoon leeg.

Dit is, denk ik, browserspecifiek gedrag. Ik kan me voorstellen dat als je (bijvoorbeeld) QuickTime filmpjes in de browser laadt (door er dus gewoon op te klikken; niet door save-as te gebruiken) je dan wel de HTTP_REFERER header meekrijgt. Zeker weten doe ik dit echter niet.

Als dit het geval is kun je een klein beetje veiligheid krijgen door de transfer ook toe te staan als de HTTP_REFERER leeg is. Dan werkt je website ook weer met browsers die helemaal geen HTTP_REFERER meesturen (al zijn dat er niet zoveel). Nadeel is dan wel, natuurlijk, dat er gedeeplinkt kan worden als mensen maar 'save-as' gebruiken. Mocht een browser dan toch een foute HTTP_REFERER meegeven, dan wordt 'ie in ieder geval geblokkeerd.

Of je dat gedragacceptabel vindt mag je zelf bepalen, maar mij lijkt het dat je in dit geval voorop wilt stellen dat het goed werkt voor de legitieme bezoekers van je website.

[ Voor 5% gewijzigd door Soultaker op 11-07-2003 19:42 ]


  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 19-08 23:49
Hmmmm....daar zit idd wel wat in, ik denk dat ik dat maar eens ga uitzoeken. Tnx voor de tip, i'll keep you informed

Leef lekker in het nu, er is niks anders

Pagina: 1