plaatje pas zichtbaar na inloggen
Ook nagedacht over directory traversal?
Waarom ben je daar op tegen?
Quote:
Niels, op zich leuk, maar dan kun je het plaatje toch nog steeds direct aanroepen? :-/
Allereerst, sorry voor de late reactie. Maar dat zijn jullie in deze tijd wel van mij gewend --__--
Het maak ze veel moeilijker om ze te vinden. Mensen kunnen (zeer) moeilijk achter de URL komen.
Maar je moet jezelf beter afvragen of je dit wel wilt. Het is allemaal overkill voor niets ;-)
Niels Kieviet op 16/06/2012 14:46:45:
[Maar je moet jezelf beter afvragen of je dit wel wilt. Het is allemaal overkill voor niets ;-)
Dat is inderdaad een goede vraag.
Maar wat ik bedoelde is dit. Jij zegt, maak er dit van:
http://jouwsite.nl/cache/rg37gAg
Maar als iemand weet dat cache/rg37gAg een bestaand plaatje is, dan kan ie dat plaatje toch gewoon aanroepen op een andere site? Dit is in feite dus niks anders dan:
http://jouwsite.nl/image/logo.jpg
Alleen ziet http://jouwsite.nl/cache/rg37gAg er iets "lastiger" uit.
Als het de hash het op de ene site doet wil het toch niet betekenen dat de hash het ook op een andere site doet?
Kan je wat meer vertellen wat voor soort plaatjes het zijn en waarom je ze wilt afschermen?
Niels
Echt spannend is het niet. Maar mijn idee was om (tzt) mijn CMS te verbergen, zodat niemand weet dat een site op mijn CMS draait. Stel in Joomla wordt een lek ontdekt, dan wordt dat op een hackersforum gepubliceerd en vervolgens worden alles sites die Joomla gebruiken opgesppord en wordt misbruik gemaakt van dat lek. Vandaar dat ik een keer de gedachte had, als niemand kan zien welk CMS wordt gebruikt, wordt het moeilijker om misbruik te maken van een eventueel lek. Nou, hoe kan iemand zien of een bepaald CMS wordt gebruikt? Soms staat het in de meta-tag (generator), maar als je weet dat een CMS een bepaald plaatje gebruikt (bijv. admin/joomla-logo.php) dan kun je er snel achter komen.
Dus vandaar vroeg ik me af of je een plaatje pas kunt laten zien op het moment dat iemand (die bevoegd is) is ingelogd.
Dus iemand die niet is ingelogd roept deze url aan:
www.eensite.nl/cms/ozzie_logo.jpg
en krijgt een not-found.
Maar iemand die is ingelogd krijgt gewoon het plaatje te zien.
Dat was mijn gedachte.
Grt. Ozzie
Dan klopt mijn idee toch?
Nogmaals:
Wanneer je site/cache/467Hfa aanroept komt hij dus in de FileController terecht.
In de FileController kan je dan afvangen of iemand rechten heeft om de file te downloaden. Zoja, dat zet je de juiste headers. Anders geef je netjes een 404.
Niels
En wat is dan bijv. het voordeel van:
http://jouwsite.nl/cache/rg37gAg
ipv
http://jouwsite.nl/image/logo
Dus waarom gebruik jij een gehashde versie en niet de bestandsnaam?
Omdat je dan altijd save zit en dus geen problemen hebt met rare bestandsnamen.
http://jouwsite.nl/image/logo
zou dus wel gewoon kunnen?
alleen als een plaatje een accent heeft gaat het mis ofzo? Is dat wat je bedoelt?
Jah dat bedoel ik. Ik sla plaatjes ook altijd op zonder extensie.
Hoe bedoel je dat? Sla je het plaatje zelf zonder extensie op? Of in de url?
En hoe maak je dan onderscheid tussen jpg png gif?
Ik sla de MIME type + hash op in de database :-)
Doe jij dit voor al je afbeeldingen? Opslaan in de database met een hash?
Nee, alleen geüploade afbeeldingen. Afbeeldingen die je in de template gebruik zet ik wel gewoon in een image map.
Thanks!
;-)