login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP Nadenkvraag - Image verificatie

Offline Martijn - 13/11/2012 10:25 (laatste wijziging 13/11/2012 10:26)
Avatar van MartijnCrew PHP Ik heb een situatie waar ik geen oplossing op hoef, deze kan ik prima zelf bedenken.
Het lijkt me een leuk idee om met ervaren en beginnende programmeurs over situaties na te denken

Eerlijk is eerlijk, bij deze heb ik geen erg effectieve oplossing, wie weet heeft iemand een goed idee.

De situatie:
Gebruiker mag een avatar op zijn/haar profiel plaatsen. Niet via een upload, maar via een url, bv http://andereWebsite.nl/afbeelding.jpg. Ik ga er van uit dat de Gebruiker HEEL, HEEL SLIM IS, dus advanced technisch, en mn site wilt slopen.

Hoe check ik of dit daadwerkelijk een afbeelding is?
- Een mogelijkheid is op extensie, maar je kunt via htaccess aanzetten dat een jpg php mag uitvoeren, dan hernoem je je php (of andere slechte code) naar jpg en klaar.
- Mimetype check? Via een Simpele header op te lossen in php of htaccess.
- Kijken of er pixels in staan? Als er een php is met daarin [slechte code] en daarna de echo van file contents van een afbeelding, kom je hier ook doorheen.

Dus, iemand een leuke idee? Verplaatsen naar server is een no-go.

Voor de bonuspunten: Hoe efficient te controleren? Eenmalig kan en dan bij url wijziging nogmaals, maar als iemand een valid jpg-je upload, de test doorstaat, en daarna vervang door een php met slechte code.... En elke keer de file checken is een beetje te heavy.

7 antwoorden

Gesponsorde links
Offline marten - 13/11/2012 10:32
Avatar van marten Beheerder Wanneer je hem kan lezen met GD lijkt het mij een goede afbeelding.
Dit lijkt me een simpele oplossing welke ook nog vrij snel is.
Offline vinTage - 13/11/2012 10:45
Avatar van vinTage Nieuw lid http://stackoverflow.com/a/10247150 (sorry, ik heb zelf niet nagedacht )maar veel efficienter denk ik niet dat mogelijk is.
Offline Gerard - 13/11/2012 20:22 (laatste wijziging 13/11/2012 20:22)
Avatar van Gerard Ouwe rakker De conclusie is er één die eigenlijk altijd geldt: content vanaf een andere website is niet te vertrouwen, op geen enkele manier.

Lees anders even het artikel van Madison Gurkha getiteld 'A Survey of Privacy & Security Decreasing Third-Party Content on Dutch Websites'. Die geeft al wat inzicht over waarom het in eerste instantie gevaarlijk is om content vanaf een ander domein in te laden.

Misschien dat je ook nog wat inzichten op kan doen bij OWASP, wat sowieso een aanrader is om eens door te akkeren voor de beginnende en gevorderde webdeveloper.
Offline marten - 14/11/2012 10:41
Avatar van marten Beheerder Sowieso zou ik nooit nadenken over een hotlink idee Ook zijn er API's aanwezig bij diensten voor avatars.
Offline Martijn - 15/11/2012 11:37
Avatar van Martijn Crew PHP Mja, maar omdat [verzin een reden] kan dat niet. Het moet dus 3rd party

@Vintage: Die doen redelijk wat ik dus al voorstelde, maar dat is geen 100%

@marten: Code, én valid plaatje:
  1. voerSlechteCodeUit();
  2. echo file_get_contents('loc/to/some/picture.jpg');
Offline GJ2086 - 19/11/2012 20:38
Avatar van GJ2086 Nieuw lid http://www.php....getype.php
Offline vinTage - 19/11/2012 20:52 (laatste wijziging 19/11/2012 20:53)
Avatar van vinTage Nieuw lid
Martijn schreef:
@Vintage: Die doen redelijk wat ik dus al voorstelde, maar dat is geen 100%


Huhm, waar heb je dat voorgesteld en waarom zou dat geen 100% safe zijn? Heb je die post wel goed gelezen? 

@GJ2086, met een juiste header, kom je daar niet doorheen?
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s