[php] Beveiligen foto's in map
mocht het zo zijn dat een gebruiker een foto heeft gekocht of de eigenaar is dan is
$locatie = goede kwaliteits foto's map
als niet heeft gekocht of niet eigenaar is
$locatie = slechte kwaliteits foto's map
Dit werkt allemaal fantastisch.
Ik had een pagina gemaakt die alle foto's stuk voor stuk controleerd en zo in de link gezet:
<img src="makejpg.php?kind=l&picID=3453434">
Dit werkte perfect, zo wist de gebruiker nooit in welke map de foto's stonden
l stond voor slechte kwaliteit
h stond voor goede kwaliteit
maar door makejpg.php werd elke foto met imagejpeg aangemaakt. dit is veel te belastend voor de webserver. Dus mijn project is op zich wel klaar.. maar als het anders kan heb ik dat liever omdat dat minder belastend is.
Nu is mijn vraag:
Hoe beveilig ik de losse foto's in mijn mappen zodat een gebruiker die de foto niet heeft gekocht of niet de eigenaar is.. niet even de url naar de slechte foto kan kopieren en de mapnaam veranderen.
Bv:
www.defotooosite.nl/fotos/thumbs/3249784.jpg
in
www.defotooosite.nl/fotos/original/3249784.jpg
en dan de originele foto te zien krijgen.
Please..help!
Hier was toch al een topic over?
waar?
Zo ja dan zou je bij elke member in een database zetten welke foto's die heeft gekocht en dat elke x uit de database aanroepen wie welke foto's mag zien (moeten ze natuurlijk wel inglogt zijn voordat ze de foto's kunnen zien).
Wat jij probeer te zeggen heb ik al volledig werkend. het gaat ook niet om de website wat beveiligd moet worden [ dat heb ik al voltooid ]. het gaat erom dat gebruikers niet de link kunnen wijzigen naar map thumbnails en zo by de originele foto's komen:
bv:
http://www.defotoosite.nl/pictures/thumbs/32497832.jpg
in
http://www.defotoosite.nl/pictures/origineel/32497832.jpg
en zo de originele foto's kunne benaderen. de foto's moeten dus afzonderlijk worden beveiligd. en er moet bygehouden worden wie welke foto heeft gekocht [ in de map zelf ]. nogmaals: op de website werkt het perfect.
iig bedankt voor je post
gr.
nick
htaccess is hier denk ik de oplossing.
Op die manier kun je ervoor zorgen dat niemand de foto's met een directe link kan benaderen. Op jouw website kun je dan een pagina maken die eerst controleert of het een gevalideerde gebruiker is en dan de foto uit de juiste map laadt.
Op die manier kun je ervoor zorgen dat niemand de foto's met een directe link kan benaderen. Op jouw website kun je dan een pagina maken die eerst controleert of het een gevalideerde gebruiker is en dan de foto uit de juiste map laadt.
Die worden dan bijv. bij aankoop gekopieerd vanuit een map waarin alleen een bepaald script bij kan om ze naar de gebruikersmap te kopieren.
Kost je wel veel schijfruimte op den duur, maar is denk ik wel veilig.
Een andere optie is dat je ze de foto's automatisch toe mailed, maar dat zal ook van de grootte van de foto's afhangen of een koper daar gelukkig van wordt.
nick schreef op 05.12.2006 11:44:
waar?
http://www.phphulp.nl/forum/showtopic.php?cat=1&id=25853&page=30
@Wim: zoals je zelf al aandraagt gaat dat heel veel schijfruimte kosten. Waarom dan niet de foto's gewoon in 1 map laten staan en alleen met een script de foto's tonen aan gevalideerde gebruikers?
Waar ik aan dacht was het gevaar dat een gebruiker dan wellicht de bestandsnamen van de andere foto's kan raden. Het was mij niet geheel duidelijk of hij daar vanuit zijn huidige script al een oplossing voor had.
Volgens mij is dat namelijk niet zo, gezien zijn opmerking:
"het gaat erom dat gebruikers niet de link kunnen wijzigen naar map thumbnails en zo by de originele foto's komen:".
Vandaar dus mijn suggestie, maar de benodigde schijfruimte is daarbij zeker een issue.
Je zou er ook nog voor kunnen kiezen de foto's in de database op te slaan. Is voor zover ik heb gehoord voor de db qua performance niet zo lekker, maar wel qua veiligheid.
Eris heeft een mooie oplossing in zijn eerder geplaatste topic gegeven.
zodat er op de website de foto in goede ( of slechte ) kwaliteit word laten zien. wat ik nu heb is totaal veilig. behalve als de gebruikers een map zouden kunnen raden en de id die by een goede kwaliteits foto hoort.
het ging mij meer om de performance op de server ( ik laat nu alle foto's controleren die weergegeven worden en maak ze aan met de functie imagejpeg.. maar als je élke keer als een gebruiker een pagina opvraagt 100 foto's [bijv] moet zitten controleren en daarna aanmaken met imagejpeg.. is niet zo gunstig voor de server.
wat ik nu dus heb gedaan is het volgende:
alle thumbnails worden regelrecht met
<img src="images/thumbs/89732897.jpg">
aangemaakt.. en de foto's met originele kwaliteit laat ik nu alsnog door php doen.. dat zijn er een heel stuk minder..
maar iig bedankt voor jullie moeite!
nick