Ik ben bezig met een site te ontwikkelen en geef users de mogelijkheid om een profiel met foto aan te maken. Nu kan dit profiel door iedereen worden opgevraagd zonder in te loggen (noodzakelijk). In dit profiel wordt ook melding gemaakt van het emailadres van deze user. Nu wil ik niet al te voorspelbaar het profiel op kunnen vragen. Dus onwenselijk is het volgende:
Dit zou betekenen dat iemand met een beetje script-kennis zo mijn DB kan harvesten op emailadressen. Dus ik dacht laat ik een crypt functie erop los met eigen passphrase:
Probleem is echter dat crypt ook in de uitvoer / kan hebben, niet echt handig bij het opvragen van url's. Ik heb toen geprobeerd te urlencoden maar dit heeft geen effect en de slashes blijven staan bij opvragen van profiel. Erg vaag..
Nu heb ik het volgende bedacht:
Dit geeft bijvoorbeeld voor id = 20 en een passphrase die ik niet verraad
de volgende code:
Nu kan je dus alleen het profiel opvragen doordat je bijvoorbeeld de link van iemand hebt gekregen. Mijn vraag: is dit afdoende als beveiliging? Voorkom ik zo dat je alle profielen kunt opvragen?
code:
1
| show_profile.php?userid=20 |
Dit zou betekenen dat iemand met een beetje script-kennis zo mijn DB kan harvesten op emailadressen. Dus ik dacht laat ik een crypt functie erop los met eigen passphrase:
PHP:
1
| crypt($gegevens['id'], 'passphrase'); |
Probleem is echter dat crypt ook in de uitvoer / kan hebben, niet echt handig bij het opvragen van url's. Ik heb toen geprobeerd te urlencoden maar dit heeft geen effect en de slashes blijven staan bij opvragen van profiel. Erg vaag..
Nu heb ik het volgende bedacht:
PHP:
1
| base64_encode(crypt($gegevens['id'], 'passphrase')); |
Dit geeft bijvoorbeeld voor id = 20 en een passphrase die ik niet verraad
code:
1
| Z2laLmJBcXgwenZ5Lg== |
Nu kan je dus alleen het profiel opvragen doordat je bijvoorbeeld de link van iemand hebt gekregen. Mijn vraag: is dit afdoende als beveiliging? Voorkom ik zo dat je alle profielen kunt opvragen?