Avatar billede freelife Nybegynder
10. februar 2006 - 05:50 Der er 7 kommentarer og
1 løsning

Beskyt swf og jpg filer fra download

hej
hvordan kan jeg beskytte mine filer? fx. www.mitsite.com indeholder nogle billeder, samt flash swf filer. Det bliver loaded via min index.php.. Men hvis jeg fx. i url´en skriver www.mitsite.com/min.swf vil den loade uden html formatteringen, det samme gælder for billed filerne.. Hvordan forhindre man dette? skal samtidigt være google venligt!!
på forhånd tak..
Avatar billede morhan Novice
10. februar 2006 - 07:05 #1
Det kan du ikke. Når browseren har indlæst siden, ligger alle filerne lokalt hos brugeren i hans mappe med midlertidige internetfiler
Avatar billede webt Nybegynder
10. februar 2006 - 08:57 #2
Du kunne evt. lave noget mod_rewrite så i det øjeblik man går ind på fx test.swf sender den brugeren til den side som har test.swf i - alt afhængige af din struktur kan det gøres mere eller mindre dynamisk, den mindst dynamiske måde vil være:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?din-side\.dk/index.php$ [NC]
RewriteRule test\.jpg$ galleri.php
RewriteRule test\.swf$ index.php


Sådan kunne du så blive ved for alle filerne, men hvis de alle er på index.php kunne der også laves noget mere dynamisk

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?din-side\.dk/index.php$ [NC]
RewriteCond %{REQUEST_URI} .*\.(gif|jpg|png|bmp|swf)
RewriteRule ^.* index.php [R=301,L]

første linie starter rewrite engine
anden linie checker om brugeren er sendt fra din-side.dk/index.php
3 linie betinger den til gif jpg png bmp og swf
4 linie sender brugeren til index.php og fortæller med [R=301] at siden er flyttet der til

Ovenstående er ikke testet men burde virke :)

Mvh
Martin
Avatar billede freelife Nybegynder
12. februar 2006 - 13:58 #3
hej martin
jeg går udfra at dette kan gøres i .htaccess filen ? da jeg ikke har videre adgang..
Et spørgsmål til denne metode: hvis man fx. også modtager query_strings i url´en www.mitsite.com/index.php?name=peter&age=24
er det okay?
endvidere har det nogen konsekvens for google osv..?
tak
Avatar billede webt Nybegynder
13. februar 2006 - 16:51 #4
Hej igen,

Jeps det kan klares i htaccess filen hvis din host tillader mod_write altså, hvis du vil ha querystring på tilføjer du bare en .* efter index.php - og hvis du er bekymret for google kan du evt indsætte en linie så google slet ikke påvirkes fx sådan her:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?din-side\.dk/index.php.*$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^.*(googlebot|msnbot|Jeeves|slurp|Scooter|jubii).*$
RewriteCond %{REQUEST_URI} .*\.(gif|jpg|png|bmp|swf)
RewriteRule ^.* index.php [R=301,L]

Ovenstående vil ikke påvirke de søgemaskiner inde i () i anden linie, der opstiller du bare navnene (navn=user agent) på de søgemaskiner som ikke skal påvirkes (disse navne kan du finde via google)

Mvh
Martin
Avatar billede morhan Novice
13. februar 2006 - 17:17 #5
Bare vær opmærksom på, at de få mennesker som måtte sidde bag en netværkdims af en art, som filtrerer referer headeren væk, de får en kedelig oplevelse på dit site
Avatar billede freelife Nybegynder
14. februar 2006 - 05:17 #6
super, mange tak for hjælpen martin
Avatar billede webt Nybegynder
15. februar 2006 - 22:27 #7
Det var så lidt, og tak for point :)
men det er rigtigt hvad morhan siger, at hvis referer headereren ikke er der vil brugeren blive afvist lige meget hvad.. det kan du dog også fikse lidt på med:

RewriteCond %{HTTP_REFERER} !^$

i linie 3
dette burde betyde at rewrite rulen ikke bliver udført hvis referer er tom

Mvh
Martin
Avatar billede freelife Nybegynder
16. februar 2006 - 09:17 #8
okay tak martin..jeg har kigget på det og mht. google, kan man vel bruge re_write til at redirecte til andre sider eller hva?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester