Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Websikkerhed mht. beskyttelse af billeder

Side 2 ud af 3 (25 indlæg)
Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 17:44
Hvor mange stjerner giver du? :

Michael R. Gertz:

Det er skam ikke noget problem at lave sådan et system, så billederne ikke ligger i den mappe som hjemmesiden ligger i, og på den måde undgå at folk bare kan linke direkte til billederne.

laver du så systemet i PHP så kan du f.eks lave en fil som hedder image.php og så med et parameter vælge hvilket billed der skal vises. du kan så i image.php tjekke om brugeren er logget ind og og brugeren har købt adgang til det billed han ønsker vist.

Men som du sige så er S3 dyrt. men tro ikke at du kan finde en som kan kode dette system billigt, og skal du selv lave det så skal du være rimelig skrap til PHP/ASP/.NET.

Hej Michael !

Jeg kan sagtens lave den fil du omtaler som "image.php". Det er ikke det der er mit problem. Jeg ved jeg kan lægge billederne i en mappe med et underligt navn som ingen vil gætte, men hvad hvis nu nogen gætter navnet på denne mappe? Selvom du har gættet navnet på den mappe hvor billederne ligger, skal du stadig ikke kunne se billederne. Jeg ved at en .htaccess-fil kan nægte adgang til at få vist en directory-listing, men er det alt man behøver for at sikre sig?

Jeg er selv webudvikler, så jeg ved godt hvordan tingene hænger sammen på et website. Jeg skal bare være helt sikker på at jeg har taget højde for alle mulige angreb, hvis jeg planter en .htaccess-fil i den mappe hvor jeg opbevarer billederne der nægter at "crackeren" kan få vist en directorylisting og at jeg ikke linker direkte til billederne, men kører den over en anden php-fil, ligesom de gør på pcworld.dk

// Mathias Bak

Fra Helsingborg
Tilmeldt 3. Apr 05
Indlæg ialt: 6570
Fra  TextReactor Skrevet kl. 17:47
Hvor mange stjerner giver du? :

Mathias Bak:
Men billederne er jo nødt til at ligge et eller andet sted på serveren :) Derfor vil de også have en url.

Nej.... Hvis vi antager at webside roden ligger i "server/mappe/www/" så ligger billederne måske i "server/mappe/billeder" og derved ligger de uden for webscope. Dvs. der ikke findes en url til billederne. Et eksempel er i mit nye system hvor billede med følgende url: http://admin.netopcom.dk/images/header_home.jpg faktisk ligger i denne mappe: e8980340-e1db-4376-8a67-8fb38498a84d/ee5d513b-0460-4cfc-a225-03e9bec0de2d.jpg men systemet sørger for at disse ting passer sammen.

Mathias Bak:
Jeg kan vel kryptere dem og smide dem i en database

Billederne skal ikke i en database, men det skal referencerne og du behøver heller ikke kryptere billederne. Du skal blot finde en der kan arbejde med virtuelle urls og som du kan forklare det for. Det er ikke noget der kræver en doktorgrad for at lave :)

Jeg har programmeret i over 27 år. Jeg har kodet i C, C++, Java, Delphi, Perl, JavaScript, C#, F#, VB.NET, ASP, Myresnak :D, Comal80 osv....

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 17:58
Hvor mange stjerner giver du? :

Ahh ! Det vidste jeg slet ikke ! Anede ikke det der med webscope. 

Havde regnet med at starte på et webhotel hos one.com, men der kan du ikke placere filer og data uden for webscope. Jeg tror dog at jeg kan på unoeuro.com.

Men hvis jeg ligger billederne uden for webscope, hvordan kan jeg så hente dem op på siden til fremvisning?

Kan man gøre det på samme måde som alt andet der ligger i et lavere niveau, altså med med href="../imgs/fil.jpg", eller gælder der andre regler når det er uden for webscope?

Det er super fedt du gider at hjælpe mig. Jeg har virkelig søgt nettet tørt for en løsning, men det er jo svært hvis man ikke søger på det rigtige.

Fra Helsingborg
Tilmeldt 3. Apr 05
Indlæg ialt: 6570
Fra  TextReactor Skrevet kl. 18:05
Hvor mange stjerner giver du? :

Mathias Bak:
Anede ikke det der med webscope. 

Står i første kapitel i bogen for webudviklere ;)

Mathias Bak:
Men hvis jeg ligger billederne uden for webscope, hvordan kan jeg så hente dem op på siden til fremvisning?

Du skal læse filen via kode. Den fil skal du så sende til browseren hvor du sørger for at sætte contenttype:

Mit eksempel er i .NET

Response.ContentType = "image/JPEG"
Response.WriteFile(Current.ImagePath & "\" & files.Id.ToString & "." & Ext) 

Hvor: Current.ImagePath er en funktion jeg har lavet for at hente den fysiske placering (c://mappe/)

files.Id.ToString: er filens ID. Her en GUID

Ext: er fil endelsen.

 

Jeg har programmeret i over 27 år. Jeg har kodet i C, C++, Java, Delphi, Perl, JavaScript, C#, F#, VB.NET, ASP, Myresnak :D, Comal80 osv....

Fra Odense NV
Tilmeldt 8. Jan 10
Indlæg ialt: 260
Skrevet kl. 18:12
Hvor mange stjerner giver du? :

Hej Mathias,

Med en blanding af PHP og .htaccess kan du godt beskytte dig helt og aldeles mod at forkerte får adgang til dine billeder. Du laver et PHP-script, som viser billedet vha. GDLib - men den viser kun det rigtige billede såfremt du er logget korrekt ind på den oprigtige ejer af billedet/eller som admin. Vha. .htaccess kan du lave en RewriteRule således, at det på papiret (billedets url-adresse) kommer til at se helt normalt ud, hvor man ikke kan se, at der rent faktisk bliver kaldt en PHP-fil frem for det direkte billede.

Skulle du have problemer med det ovenstående, eller ønsker en anden til at lave det, er du velkommen til at sende mig en PM.

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 18:13
Hvor mange stjerner giver du? :

Haha har skam aldrig læst "bogen for webudviklere", da jeg oparbejdet mine færdigheder ved at prøve mig frem. Du vil nok ikke betragte mig som webudvikler, men ved ikke lige hvad jeg ellers skal kalde det, "en fyr der kan kode en smule php og det andet der nu følger derefter" :)

Ok jeg forstår dit eksempel, så ImagePath skal være fra serverens rod, eller kan den også være relativ til filens placering?

Fra Helsingborg
Tilmeldt 3. Apr 05
Indlæg ialt: 6570
Fra  TextReactor Skrevet kl. 18:17
Hvor mange stjerner giver du? :

Mathias Bak:
Haha har skam aldrig læst "bogen for webudviklere", da jeg oparbejdet mine færdigheder ved at prøve mig frem.

Også den måde du lærer det på :)

Mathias Bak:
Ok jeg forstår dit eksempel, så ImagePath skal være fra serverens rod, eller kan den også være relativ til filens placering?

ImagePath skal være eks: c:/imagebank/billeder/fed-bil.jpg

 

Jeg har programmeret i over 27 år. Jeg har kodet i C, C++, Java, Delphi, Perl, JavaScript, C#, F#, VB.NET, ASP, Myresnak :D, Comal80 osv....

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 18:29
Hvor mange stjerner giver du? :

Hej Mathias,

Med en blanding af PHP og .htaccess kan du godt beskytte dig helt og aldeles mod at forkerte får adgang til dine billeder. Du laver et PHP-script, som viser billedet vha. GDLib - men den viser kun det rigtige billede såfremt du er logget korrekt ind på den oprigtige ejer af billedet/eller som admin. Vha. .htaccess kan du lave en RewriteRule således, at det på papiret (billedets url-adresse) kommer til at se helt normalt ud, hvor man ikke kan se, at der rent faktisk bliver kaldt en PHP-fil frem for det direkte billede.

Skulle du have problemer med det ovenstående, eller ønsker en anden til at lave det, er du velkommen til at sende mig en PM.

Tak for dit svar. Det er dog samme løsning som Niels lige har skrevet, dog med den ekstra .htaccess RewriteRule. Jeg tror jeg går efter Niels' løsning, da den sepererer billederne fra resten af websitet, hvilket er nice !

Niels:

ImagePath skal være eks: c:/imagebank/billeder/fed-bil.jpg

Ja det fik jeg fat i, men SKAL det være en absolut sti, eller kan den godt være relativ?

 

Fra Helsingborg
Tilmeldt 3. Apr 05
Indlæg ialt: 6570
Fra  TextReactor Skrevet kl. 18:33
Hvor mange stjerner giver du? :

Mathias Bak:
Ja det fik jeg fat i, men SKAL det være en absolut sti, eller kan den godt være relativ?

Som regel SKAL det være en absolut sti, men det kommer an på det du koder i.

Jeg har programmeret i over 27 år. Jeg har kodet i C, C++, Java, Delphi, Perl, JavaScript, C#, F#, VB.NET, ASP, Myresnak :D, Comal80 osv....

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 18:36
Hvor mange stjerner giver du? :

Koder i php.

Men jeg kan vel ikke få lov at lave en absolut sti hvis jeg har lejet mig ind på et webhotel...? Eller kan man? Det afhænger måske af den enkelte udbyder?

Side 2 ud af 3 (25 indlæg)