Avatar billede googolplex Novice
19. juli 2003 - 14:51 Der er 25 kommentarer og
1 løsning

Beskyttelse af billeder/galleri

Jeg har et meget simpelt galleri, som ikke skal være tilgængeligt for alle og enhver.

I øjeblikket ligger billederne og galleri.php under en .htaccess og det virker også fint nok.

Men hvordan laver jeg noget tilsvarende udelukkende med PHP ?

Det er jo nemt nok at beskytte siden galleri.php, men hvordan beskytter jeg mappen, så man ikke bare kan skrive stien til billederne ?

Billederne ligger ikke på min egen server, men på et webhotel.
Avatar billede TRoXa Novice
19. juli 2003 - 15:55 #1
det kan ikke lade sig gøre .. for finder man ud af hvor billederne ligger, så kan man stjælpe dem .. derfor skal du bruge noget ala htaccess eller lign :)
Avatar billede nicklasb Nybegynder
19. juli 2003 - 16:06 #2
Hvis det er tilladt at gemme billedet, når det først bliver vist på en side, er det vel bare at ligge billederne ude for dit webscope og så hive dem ind på siden med en ../ foran ?? eller forstår jeg ikke spørgsmålet helt rigtigt??
Avatar billede hoejrup Nybegynder
19. juli 2003 - 16:32 #3
Du kan lave en aftale med digimarc.com, så kan billederne spores i hele verden via internettet.
Når du først har sat digimarc watermark på billederne via Photoshop, så kan det ikke fjernes igen.
Vandmærket bliver nemlig flettet ind i billedets data, og du kan selv bestemme graden af synligheden.

/per
Avatar billede googolplex Novice
19. juli 2003 - 16:50 #4
niclasb: - 'Billederne ligger ikke på min egen server, men på et webhotel.'
Avatar billede nicklasb Nybegynder
19. juli 2003 - 16:53 #5
og der kan du ikke komme lægere bag ud end til dit root-bibliotek?? altså bare minimum et trin tilbage??
Avatar billede googolplex Novice
19. juli 2003 - 17:41 #6
Det jeg leder efter er noget i stil med .htaccess, men jeg tænkte nok det ikke kunne lade sig gøre sådan lige :(

Kan man besværligegøre det, fx. gøre det svært at gætte stien til billederne ? Det er ikke statshemmeligheder, så hvis sikkerheden skulle brydes sker der ikke det store.
Avatar billede googolplex Novice
19. juli 2003 - 17:43 #7
niclasb: Nej, desværre, så havde jeg brugt den løsning :(
Avatar billede nicklasb Nybegynder
19. juli 2003 - 19:08 #8
det kommer an på hvad du mener med at "besværliggøre at gætte stien" ??
det vil være overkill at lave et script der fx. omdøber billederne hver nat (så skal du hellere sætte din egen server op med en løsning ligende den jeg skrev tidligere).
Men du kan jo evt. bare omdøbe billederne ved upload til et langt tal..
Hver gang du sætter et ciffer mere på gør du det 10 gange så svært at gætte (hvis du KUN bruger tallene (0 - 9))
Så hvis det er på fx 20 tegn er der hele 100.000.000.000.000.000.000 nuligheder
du kunne fx lave et godt mix af et date-stamp, på det tidspunkt hvor du uploader billedet..
fx: date('GstzBHmdj', time())

Du kunne så også for at sjule stien til billedet bare en smule, lave en phpfil, der henter billedet ind og sender det via en
header( "Content-type: image/png" );
Så kan du i dit img tag i stedet skrive
<img src="billedfilen.php?id=1">

En sammenblanding kunne så gøre at billedfilen kalder til en database, og finder posten med id = $id. Nu tager den så i kolonnen 'fil' filens navn (Fx det med de 20 tegn) og henter herved billedet ind uden at vise brugeren filens egentlige navn. Men det forhindre selvfølgelig ikke brugeren i bare at højreklikke og vælge "gem billede som...", og forhindre heller ingen i bare at prøve at gætte på stien til billedet..
Men lidt sikkert er det da helt sikkert.. ;D
Avatar billede googolplex Novice
19. juli 2003 - 20:15 #9
Jeg sætter bare et timestamp i enden på mine navne så :)

Jeg troede bare man nemt kunne gå ind og se hvilke mapper/filer der ligger på mit webhotel og så hjalp det jo ikke så meget at navnet var svært at gætte...
Avatar billede ullesan Nybegynder
20. juli 2003 - 14:54 #10
Bare en lille side bemærkning samt spørgsmål...

Ville de billeder der bliver loaded ind på en side, lige meget hvordan man gør det, altså henter dem fra db osv, ikke blive gemt i temporary internet files mappen for Windows brugere... derfra, hvis man absolut vil have billederne, kan man jo bare åbne billed for billed og tjekke dem igennem og kopiere over

For mig og se ville det bedtse mulighed være i form for beskyttelse af billederne i flash eller noget java applet ( dog kender jeg ikke om ovenstående også kan anvendes til disse )
Avatar billede googolplex Novice
20. juli 2003 - 14:56 #11
Jo selvfølgelig, men jeg vil jo slet ikke have at folk kan se mine galleri billeder i det hele taget !
Avatar billede nicklasb Nybegynder
20. juli 2003 - 16:06 #12
så er løsningen med at hente billederne ind fra en mappe længere ude, være den bedste ide..
men ellers ville der jo ikke være noget i vejen for at give dem et meget langt navn, gemme dette i en database, og så hente du ud som jeg beskrev, ved at hente filerne ind i en php-fil og så printe det ud, så man kun kan se <img src="phpfilen.php"> i img-taget..

ullesan -> Det hjælper ikke vidrere meget at beskytte dem på den måde. Hvis man SÅ gerne vil have fat i billederne kan man på næsten alle tastature klikke Print Screen.. Så har man billedet, og det kræver kun en gang beskring..
Så tror ikke det hjælper særlig meget mere på det..
Avatar billede googolplex Novice
20. juli 2003 - 16:13 #13
Ok, jeg tror de metode er sikker nok, det er jo riiiiimelig besværligt at gætte navnene hvis de har et timestamp bagefter :P

Jeg troede bare, at man nemt kunne få vist alle mapper/filer på et websted, hvis de lå indenfor 'webscopet' ?

Smid et svar :)
Avatar billede fgsupermand Nybegynder
21. juli 2003 - 16:27 #14
"Jo selvfølgelig, men jeg vil jo slet ikke have at folk kan se mine galleri billeder i det hele taget !"

Så kan du bruge .htaccess til at blokere adgang til den mappe som billederne ligger i
Avatar billede fgsupermand Nybegynder
21. juli 2003 - 16:29 #15
Og det gøre sådan her:
<Directory "sti">
    Order Deny,Allow
    Deny from all
</Directory>
Avatar billede googolplex Novice
21. juli 2003 - 17:21 #16
øhm fgsupermand: Prøv lige at læs mit spørgsmål :P
Avatar billede googolplex Novice
21. juli 2003 - 17:22 #17
Det jeg ledte efter var noget tilsvarende, men ikke .htaccess, det bruger jeg nu.
Avatar billede fgsupermand Nybegynder
21. juli 2003 - 19:04 #18
Okey så vil jeg skal forstå det rigtigt: du ligger nogle billeder ud på nettet, ingen folk må kunne se dem, men adligevel skal der være adgang til billederne, folk må bare ikke se hvad de hedder.

Det lyder meget meget mærkeligt, kan du ikke forklare hvorfor billeder overhovedet skal være der? og hvorfor du ikke vil bruge .htaccess ?
Avatar billede googolplex Novice
21. juli 2003 - 19:10 #19
Nej nej ! Jeg vil bare have et galleri som kun kan ses af folk der er logget ind. Jeg vil gerne have sammemkoblet det med mit login, så det ikke lægger under en .htaccess.

Det behøver slet ikke være skudsikkert, bare semisikkert...

Men jeg er lidt i tvivl om følgende: Kan man nemt gå ind og se hvilke mapper filer der ligger på et webhotel ? Ellers skal de jo gætte stien til mine billeder og det er jo næsten umuligt.
Avatar billede andy Nybegynder
22. juli 2003 - 12:22 #20
RewriteEngine on
RewriteCond %{HTTP_COOKIE} dinlogincookie=.+ [NC]
RewriteRule ^.+ - [F]

Skulle blocke alle requests der ikke har "dinlogincookie" sat.
Avatar billede googolplex Novice
22. juli 2003 - 12:50 #21
andy:

Er det bare .htaccess ?

Det virker vel kun hvis folk aktivere autologin, så der sættes en cookie eller også med almindelig (uden cookie) logon ?
Avatar billede andy Nybegynder
22. juli 2003 - 13:00 #22
ja, smid det i en htaccess.

Du kan bare sætte en cookie ligegyldigt hvordan de logger ind.
Avatar billede googolplex Novice
22. juli 2003 - 13:04 #23
Ja, men jeg har et autologon system der sætter en cookie hvis de sætter hak. Så vidt jeg ved sætter php alligevel en session-cookie (hvis de understøtter det), som slettes når de lukker browseren, men den kan jeg vel ikke bruge ? Kræves der ikke en cookie sat med setcookie() ?

Smid et svar :)
Avatar billede andy Nybegynder
22. juli 2003 - 17:11 #24
En cookie er en cookie :)

RewriteEngine on
RewriteCond %{HTTP_COOKIE} PHPSESSID=.+ [NC]
RewriteRule ^.+ - [F]
Avatar billede googolplex Novice
22. juli 2003 - 18:53 #25
Ahhh, smart :)

Prøver det lige, men smid et svar, du får pointene.
Avatar billede andy Nybegynder
23. juli 2003 - 21:11 #26
svar
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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