Gå til innhold

usikkert å frakte passord i url?


Anbefalte innlegg

På hjemmesiden min har jeg et login-system som egentlig bruker sessions men som jeg må frakte passordet og brukernavnet i url'en. passordet er md5 kryptert mens brukernavnet er vanlig.

 

er det veldig usikkert å frakte passordet slik:

index.php?s=profil&SID=groenlid&p=92078d373228d61cb5b6e8f1c00e02bf

 

kjører mot en mysql database btw.

Lenke til kommentar
Videoannonse
Annonse

Her er noe du kan bruke:

 

$user og $password er variabler som du får fra login skjemaet.

	if($user == "$data[User]" && md5($password) == "$data[Password]")
{
 session_start();
 //unset the session variable if exists
 unset($_SESSION['sessio']);

 //Unique sessioid
 srand((double)microtime()*1000000);
 $sessio = md5(rand(0,9999));

 $_SESSION['sessio'] = $sessio;

 header("Location:side.php?sessioid=$sessio");
}

 

Så setter du denne koden inn i hver side som du krever innlogging.

session_start();

$sessioid = $_REQUEST['sessioid'];
$sessio = $_SESSION['sessio'];

//Check the session id
if(!isset($sessioid) || $sessioid != "$sessio")
{
header("Location:login.php"); // Til side som sier en ikke er innlogget.
exit;          // kan brukes istedenfor å ha hele siden inni en else blokk.
}
else
{

//Innholdet på siden....
}

Endret av MapSter
Lenke til kommentar
På hjemmesiden min har jeg et login-system som egentlig bruker sessions men som jeg må frakte passordet og brukernavnet i url'en. passordet er md5 kryptert mens brukernavnet er vanlig.

 

er det veldig usikkert å frakte passordet slik:

index.php?s=profil&SID=groenlid&p=92078d373228d61cb5b6e8f1c00e02bf

 

kjører mot en mysql database btw.

6298014[/snapback]

Å kun md5'e passordet uten noe seed er nok ikke så trygt.

Lenke til kommentar
hvorfor bare ikke bruke POST i stedet?

mye mye tryggere...

ingen ting i url din heller (i url er GET)

6298364[/snapback]

 

Hvorfor er dette så mye tryggere? Requesten skjer ukryptert uansett. Det er like lett å fange opp en POST-request som en GET-request - eneste forskjell er at GET vises i URL'en i nettleseren din, men det er jo ikke det som utgjør den store faren her?

Lenke til kommentar
nders,13/06-2006 : 11:43]hvorfor bare ikke bruke POST i stedet?

mye mye tryggere...

ingen ting i url din heller (i url er GET)

6298364[/snapback]

 

Hvorfor er dette så mye tryggere? Requesten skjer ukryptert uansett. Det er like lett å fange opp en POST-request som en GET-request - eneste forskjell er at GET vises i URL'en i nettleseren din, men det er jo ikke det som utgjør den store faren her?

6298385[/snapback]

 

Tenk deg en wannebe n00b som tror han kan hacke og snapper opp urlen...

og gjett hva... da er han inne...

 

med POST må du bruke hjernen litt :p

6298411[/snapback]

 

(Hvis han snapper opp URL'en (som egentlig er GET-requesten) så er han antageligvis ikke n00b.)

 

Moralen er uansett at passord i POST ikke kan anses som sikrere enn passord i GET, og en må finne alternative måter - som f.eks. vist over vha sessions.

Lenke til kommentar

oki. tnx for innlegg.

men har bare et problem når det kommer til sessions.

bruker wamp5 på en windows 2003 server, og har problemer med å sende og ivareta sessions'ene.

 

f.eks hvis jeg setter en sessions med index.php kan jeg ikke hente den opp igjen med en annen side. Har prøvd alle de forskjellige kodene, så tror det må ha noe med wamp versjonen jeg bruker...

Lenke til kommentar
Altså.. Om noen sniffer opp trafikken, så er det jo ingenting som stopper de fra å sende samme request selv, og dermed være innlogget. Eller?

6298081[/snapback]

Og?

Det kan de gjøre uansett hvilken måte du gjør det på, cookies, post, get, you name it. (med mindre HTTPS brukes da)

Lenke til kommentar
Altså.. Om noen sniffer opp trafikken, så er det jo ingenting som stopper de fra å sende samme request selv, og dermed være innlogget. Eller?

6298081[/snapback]

Og?

Det kan de gjøre uansett hvilken måte du gjør det på, cookies, post, get, you name it. (med mindre HTTPS brukes da)

6300120[/snapback]

 

Jepp, derfor lurte jeg på om det kun var passordet som var hashet, og dermed enhver som har GET-strengen kan sende samme request og være logget inn, eller om det var noen andre steg som var tatt i tillegg, så det ikke var så lett.

F.eks hash av klientens IP og passord i ett, slik at en en annen IP som forsøker å sende samme request vil feile.

Lenke til kommentar

POST er littegranne sikrere enn GET på grunn 2 ting syns nå jeg:

1.Mange weblesere logger sidene du går innpå.

2.Mange websider lagrer referer.

 

Jeg er litt usikker, men hvis man får embedded et bilde fra en annen server skal det gå an å snappe opp referer, hvis man har skills såklart.

 

Paull: En ting som er kjipt med måten din er at du stenger ute de som f.eks. bruker Tor

Endret av willbend
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...