login  Naam:   Wachtwoord: 
Registreer je!
 Forum

is het onveilig?

Offline daanlaan - 10/02/2010 12:46
Avatar van daanlaanMySQL interesse Ik heb een formulier waar leden hun wachtwoord kunnen veranderen, maar ik heb hier het liefst een GET form.
In de link wordt het correcte oude wachtwoord meegegeven om te vergelijken bv:
?correctpw=a94a8fe5cffdfgfba61c4c0sdfsdf3d391e987982f654bd3&oldpw=test&newpw=test

is dit onveilig en MOET ik hier een post gebruiken?

16 antwoorden

Gesponsorde links
Offline ArieMedia - 10/02/2010 12:55
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
ligt er aan hoe je het afhandeld.

Het voordeel van een get is dat je via de URL nieuwe pagina's kan aanroepen, ik zie daar hier niet echt het voordeel van eigenlijk.. Dus ik zou gewoon $_POST gebruiken.
Offline daanlaan - 10/02/2010 12:59
Avatar van daanlaan MySQL interesse ik heb GEt gebruikt zodat als je op back klikt in je browser dat je niet zo een alert krijgt met 'opnieuw verzenden...' kan ik dit anders oplossen?
Offline ArieMedia - 10/02/2010 13:07
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
na de update een header-refresh gebruiken..

dus

  1. if(mysql_query($sql)) { // dus de update
  2. header('Location: hetadres');
  3. }
Offline larssy1 - 10/02/2010 13:07 (laatste wijziging 10/02/2010 13:08)
Avatar van larssy1 MySQL beginner wat ik niet snap van joun link.. je hebt correctpw, oudepw en newpw.
maar is correctpw niet de md5 codering van oudepw???
Offline daanlaan - 10/02/2010 13:11 (laatste wijziging 10/02/2010 13:12)
Avatar van daanlaan MySQL interesse je hebt correctpw, oldpw, newpw en newpwherhaal

die correctpw wordt meegegeven in een hidden textbox anders moet ik voor dat ene ww nog een query doen

@ArieMedia:
Dat kan ik doen maar ten 1e werkt die header bij mij enkel helemaal boven de pagina waar <html> nog niet is geopend en ten 2e dan zie je je pagina hele tijd flipperen omdat hij herlaadt, toch? 
Offline Erwt - 10/02/2010 13:42
Avatar van Erwt PHP beginner Ik zeg POST, kan je dit namelijk niet via packets sniffer programma'tjes zien? als je iemand zn username weet.. je trace't alle data op het netwerk, ziet die link voorbij komen en je weet meteen zijn nieuwe ww?
Offline ArieMedia - 10/02/2010 13:43
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
daanlaan schreef:
je hebt correctpw, oldpw, newpw en newpwherhaal

die correctpw wordt meegegeven in een hidden textbox anders moet ik voor dat ene ww nog een query doen

@ArieMedia:
Dat kan ik doen maar ten 1e werkt die header bij mij enkel helemaal boven de pagina waar <html> nog niet is geopend en ten 2e dan zie je je pagina hele tijd flipperen omdat hij herlaadt, toch? 
Klopt. headers moeten altijd voor een output staan. dus:

  1. echo 'Mies eet een appel'; // <-- dit geeft dus een error, want je stuurt al wat naar de browser
  2. if(!isset($_GET['noref'])) {
  3. header('Location: mies.php?noref=1');
  4. }


  1. $sRet = 'Mies eet een appel'; // <-- dit geeft GEEN error, want je stuurt nog niks terug naar de browser
  2. if(!isset($_GET['noref'])) {
  3. header('Location: mies.php?noref=1');
  4. }
  5.  
  6. echo $sRet; // <-- hier stuur je pas wat naar de browser terug.


--> dan zie je je pagina hele tijd flipperen omdat hij herlaadt, toch?

Ik heb al een voorbeeldje gegeven hoe je het op kan lossen, maar je herlaad de pagina natuurlijk alleen als er aan bepaalde voorwaarden zijn voldaan, dus je controleert eerst wel of er wat geupdate moet worden.
Offline Ontani - 10/02/2010 13:56
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
@Erwt dat kan zonder problemen ook met POST requests.
Offline Erwt - 10/02/2010 15:11
Avatar van Erwt PHP beginner Ik geloof je, begrijp me goed.. maar als ik dus via een formulier mijn wachtwoord stuur naar bijv een inlogscript.. dan kan ik dat toch niet zien?

Mij nooit gelukt met die programma's.. anders is bijna elke website toch onveilig?

let op: Ik doe geen uitspraken, ben wel benieuwd 
Offline Ontani - 10/02/2010 16:20 (laatste wijziging 10/02/2010 16:54)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
packet tracers zien heus je POST request wel hoor, hoe geraken die anders bij de website...

Let vooral ook op de vorige regel: POST

titjes schreef:
Link weggehaald. Er stond blijkbaar nog gevoelige informatie in.
Offline daanlaan - 10/02/2010 16:46
Avatar van daanlaan MySQL interesse maar bij mij geef ik de link van de persoon zijn eigen 'correcte' sha1(wachtwoord) mee in de url, dit zou in het principe toch niet onveilig kunnen zijn ofwel? want het formulier bevat namelijk ook andere dingen zoals naam, voornaam, adres, blabla dus gwn method="get"
Offline your_mother - 10/02/2010 16:51 (laatste wijziging 10/02/2010 16:54)
Avatar van your_mother Nieuw lid
Ontani schreef:
packet tracers zien heus je POST request wel hoor, hoe geraken die anders bij de website...

Let vooral ook op de vorige regel: POST


Mafkees, de hex dump van je package staat d'r nog wel neffe 
Effe je hex "vertalen" en ik heb je password als nog 

BTW: Als je een hash van "oldpassword" meegeeft, dan kan een kwaadwillende een rainbow crack over je md5 heen gooien en dan hettie je password...
Offline Koen - 10/02/2010 16:55
Avatar van Koen PHP expert
your_mother schreef:
[..quote..]
BTW: Als je een hash van "oldpassword" meegeeft, dan kan een kwaadwillende een rainbow crack over je md5 heen gooien en dan hettie je password...

Nah, er wordt een salt aan toegevoegd 
Offline daanlaan - 10/02/2010 16:57
Avatar van daanlaan MySQL interesse als dat tegen mij was van die hex vertalen, geen nut dan, het zijn maar wat verzonne tekentjes 
je zegt een kwaadwillende, maar oldpassword komt enkel in de url te staan als je reeds bent ingelogd, dus je kan enkel je eige oude pass gaan achterhalen.
maarja soit ik zal het maar gwn op post zetten, die mensen moeten maar niet op back klikke XD
Offline Martijn - 10/02/2010 20:00
Avatar van Martijn Crew PHP en als er iemand naast je zit mee te lezen? Waarom niet gewoon post.
Offline ArieMedia - 10/02/2010 22:47
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
daanlaan schreef:
als dat tegen mij was van die hex vertalen, geen nut dan, het zijn maar wat verzonne tekentjes 
je zegt een kwaadwillende, maar oldpassword komt enkel in de url te staan als je reeds bent ingelogd, dus je kan enkel je eige oude pass gaan achterhalen.
maarja soit ik zal het maar gwn op post zetten, die mensen moeten maar niet op back klikke XD
Ik gaf je een voorbeeld hoe mensen op back kunnen klikken maar waardoor de $_POST weg gaat
  1. if(isset($_POST['edit'])) {
  2. $sql = 'een mooie query';
  3. if(mysql_query($sql)) {
  4. header('Location: loc.php');
  5. } else die('fout in query');
  6. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s