inlog script
Ik heb mijn eerste login systeem gemaakt.
Ik verbind een login sessie aan de gebruikers ID op onderstaande manier:
Code (php)
Mijn vraag is; is dit veilig? of kun je dit makkelijk hijacken.
vervolgens staat er boven alle pagina's:
is dit een goede manier? of kan ik het beter anders aanpassen.
en mijn laatste vraag;
nadat ik inlog, en ik vul bijvoorbeeld het contactformulier in, log ik gelijk uit nadat ik op submit druk zonder dat het bericht wordt verstuurd :s
help..
Toevoeging op 07/07/2011 17:10:05:
het lijkt of de session gelijk weer wordt gekilld, want als ik controleer wat session is dmv:
Code (php)
krijg ik niks te zien behavle "Sessie is:"
Toevoeging op 07/07/2011 17:21:39:
serieus waarom logt ie de hele tijd automatisch uit :S
ik heb m toch aan een sessie gebonden,
wtf joh
Toevoeging op 07/07/2011 17:37:20:
help asjeblieft ik snap er niks meer van
dat taalgebruik is hier niet nodig. We streven naar een professioneel forum. Tevens worden veel vragen beantwoord op het forum. meer berichtjes plaatsen zorgt er niet voor dat de vraag sneller beantwoord wordt over het algemeen. Als je vraag na 24 uur niet beantwoord is kan je reageren op je eigen topic en plaats je in het bericht 'bump' zo komt hij weer bij de laatste forum berichten te staan.[/modedit]
Gewijzigd op 07/07/2011 18:13:44 door Bas IJzelendoorn
zet
boven elke pagina waarbij je ook ingelogd wilt zijn.
je gebruikt om uit te loggen dan vervolgens:
Verder:
- Je systeem is zo lek als een mandje. Ik heb je query nog niet gezien naar je database maar dit '$rij['password']' wijst erop dat je waarschijnlijk geen gebruik maakt 'mysql_real_escape_string()'.
- md5 valt te brute force (kraken) gebruik 'sha1()' en kijk eens naar salt. (google password salt)
Ik ben wel benieuwd naar de sql query die je uitvoert om te controleren of het password goed is.
Edit:
Wederzijdse vraag:
Hoelang ben je al met PHP bezig en waar is het login systeem voor?
Wederzijdse vraag:
Hoelang ben je al met PHP bezig en waar is het login systeem voor?
Gewijzigd op 07/07/2011 18:14:46 door Bas IJzelendoorn
Bas IJzelendoorn op 07/07/2011 18:11:05:
- Je systeem is zo lek als een mandje. Ik heb je query nog niet gezien naar je database maar dit '$rij['password']' wijst erop dat je waarschijnlijk geen gebruik maakt 'mysql_real_escape_string()'.
Een onlogisch antwoord. $rij['password'] komt UIT de database en is een md5-hash.
Bas IJzelendoorn op 07/07/2011 18:11:05:
- md5 valt te brute force (kraken) gebruik 'sha1()' en kijk eens naar salt. (google password salt)
Sha1 valt ook te bruteforcen.
Hoezo werkt $_SESSION niet?
ik snap het niet, want eerst log ik gewoon in. het lijkt prima te werken, maar dan na 1 form in tevullen word ik weer uitgelogd.
om even in te gaan op het vorige;
de wachtwoorden staan in md5 gehasht in de database, zie ook; if(md5($_POST['password'])==$rij['password'])
een query van mijn database ziet er als volgt uit:
$sql="SELECT * FROM users WHERE username='".mysql_real_escape_string(addslashes($_POST['username']))."'";
ik doe php als hobbie, ben sinds 2002 bezig.
bedankt met melden dat sha1 beter is dan md5
maar ik heb nog steeds geen antwoord op mijn vraag.
k heb ze trouwens net even gesalt ook, met md5 en sha1. denk dat hij nu wel secure is.
alleen :s waarom log ik de hele tijd uit
bovenaan elke pagina staat session_start;
ik snap het niet.
speltip #14, spreid je spelkansen zegt holland casino
dus tsjah.. umad?
Nicky van boven op 07/07/2011 23:06:48:
nee, dat was ik nog een keer.
speltip #14, spreid je spelkansen zegt holland casino
dus tsjah.. umad?
speltip #14, spreid je spelkansen zegt holland casino
dus tsjah.. umad?
Spreiden van je kansen vind ik op zich begrijpelijk, maar meld dan wel even als je het antwoord op je vraag hebt. Wel zo netjes lijkt me.
Quote:
dank u wel, het werkt het lag aan session_start()
ik dacht dat die haakjes overbodig waren:s
ik dacht dat die haakjes overbodig waren:s
thx :) wel zo netjes idd
Ik ben ook een tijdje bezig geweest met mijn paswoord te beveiligen.
$pass = sha1(md5($salt1.$ingevoerdepass.$salt2));
Daarbij moet je ervoor zorgen dat je invoer redelijk wat characters bevat. Zeker een stuk of 10 of 12, zodat hij moeilijker te kraken is. Alles is te kraken, maar hoe meer hoe moeilijker. Ik heb begrepen dat blowfish nog niet echt gekraakt is. Van horen en zeggen dan, maar de werking hiervan heb ik zelf ook nog niet uitgezocht.
Tevens begreep ik dat veel hackers niet proberen je code te kraken, maar je gehele crypted pass dus $pass te achterhalen, zodat ze dat in zijn geheel kunnen gebruiken? Of iets in die richting. Cookies opvangen, of sessies, zodat ze dat kunnen gebruiken. Is dat mogelijk en hoe voorkom je zoiets?
MvG.
je database is al redelijk beveiligd als je in je script mysql_real_escape_string zet dat maakt hacker zoiezo al moeilijker en dan nog md5 en sha1 er over heen gooit maakt het ze nog moeilijker maarja daar voor meot je echt jaren ervaring hebben om goed verstand tehebben van beveiliging van passworden en andere dingen
Dat met het kunnen inloggen dankzij de gehele crypted pass lijkt me onwaarschijnlijk. Stel iemand gebruikt deze crypted pass invoert dan ga je in je script daar nog eens de salt aan toevoegen en de hash daarover doen. Dit levert een totaal ander resultaat op als wanneer iemand enkel het wachtwoord in voert.
Cookies/sessies opvangen is mogelijk als je de gebruikersinput niet goed controleert. Je moet voorkomen dat mensen XSS en CSRF (Cross Site Request Forgery) kunnen uitvoeren. In het kort komt het er bij beide op neer dat code uitgevoerd kan worden en dat ze daarmee gegevens buit kunnen maken. Bijvoorbeeld als ze dit in een veld invoeren die later (zonder controle) op de pagina getoond worden:
of: