Voor een puur persoonlijke website (alleen foto's uploaden, 1 gebruiker) wil ik een eenvoudig doch zo veilig mogelijk admin/inlogscript hebben.
SSL is natuurlijk de meest ideale oplossing, maar zie ik, gezien mijn huidige wens, als overkill.
Ingebouwd in PHP5.5 en hoger zit password_hash en password_verify
Is dit veilig genoeg?
Met password_hash krijg ik wel de gegevens in de database, maar het controleren met password_verify lukt me niet. De uitkomst van password_hash is, als ik het goed begrijp, elke keer anders.
Maar hoe controleer je dan met password_verify de combinatie gebruikersnaam / wachtwoord?
[quote}
Met password_hash krijg ik wel de gegevens in de database, maar het controleren met password_verify lukt me niet. De uitkomst van password_hash is, als ik het goed begrijp, elke keer anders.
Maar hoe controleer je dan met password_verify de combinatie gebruikersnaam / wachtwoord?
{/quote]
Maar password_hash() en password_verify() helpen niet bij een onbeveiligde verbinding, want dan is de uitwisseling van gebruikersnaam en wachtwoord simpel af te tappen...
Als je te vrekkig bent voor een echt SSL-certificaat, kun je een self-signed certificaat gebruiken en dat handmatig toevoegen aan de vertrouwde certificaten. Of anders public key encryption via OpenSSL, maar dan zonder de public key te publiceren.
Als je te vrekkig bent voor een echt SSL-certificaat
Ik vind het jammer dat je het zo benadert.
Dacht dat die dingen honderd(en) euro's kosten. Zie dat dat mee valt, mijn hosting biedt het voor € 25 per jaar. Is daarmee nog wel duurder dan wat hosting kost.
Afgaande op jouw antwoord blijf ik de foto's wel uploaden met ftp.
@Davy: met jouw code controleer je toch niet met gegevens in de database?
Volgens mij begrijp je me verkeerd. Je vraag ging over werking van password_hash() en password_verify:
Met password_hash krijg ik wel de gegevens in de database, maar het controleren met password_verify lukt me niet. De uitkomst van password_hash is, als ik het goed begrijp, elke keer anders.
Maar hoe controleer je dan met password_verify de combinatie gebruikersnaam / wachtwoord?
En op basis daarvan gaf ik je een voorbeeld waar er "// To Database" achter $HashAndSalt staat, dus daar moet je dan zelf een code in elkaar gaan knutselen voor je database (Waarschijnlijk heb je dat al gedaan en hoef je het enkel te aanpassen), de rest van de code is hoe je ophaalt ($HashAndSalt in password_verify moet dus anders zijn en van je database komen ($passwordvanjedataabase)) en inlogt.
Een hobbysite kan ook worden gehackt en vervolgens worden misbruikt voor spam, phishing, file sharing, enzovoort, enzovoort.
De TS ging er ten onrechte van uit dat SSL-cerficaten "honderd(en) euro's" kosten, maar dat is niet zo. Twee #gratis alternatieven, die afdoende zijn voor een hobbysite, zijn StartSSL Free en CAcert.
Maar antwoord op mijn eigenlijke vragen heb ik nog niet gekregen.
Of is het met ssl niet meer nodig om gegevens gecodeerd op te slaan in de database?
Is er iemand die me daarbij kan en wil helpen?
Maar $pass levert telkens een andere waarden op, zelfs met dezelfde gegevens. Hoe controleer je dan de inloggegevens die worden opgegeven met die in de database?
En is Bcrypt op dit moment nog een veilige manier van beveiligen (los van ssl, sftp, .....)?