[PHP] Sessie login problemen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 30-08 16:13

RoRoo

Certified Prutser

Topicstarter
Ola!!

Ik ben met mijn admin pagina bezig en nu kom ik toch wel iets heel vreemds tegen.

Ik login met de juiste gegevens. en toch stuurt ie mij terug naar de login page.
Mijn vermoeden is dus dattie de sessie OF niet registreerd OF niet goed checked.

login.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    $query = mysql_query("SELECT * FROM user WHERE u_name = '$username' AND u_pass = '$password'");
    $result = mysql_num_rows($query);

        if ($result == '1') {

        $UserSession->Login = 1;
        $UserSession->Username = "$username";
        $UserSession->Password = "$password";
        session_register("UserSession");


           Print "<meta http-equiv=refresh content=0;URL=$HTTP_REFERER>";
exit;
// hieronder staat nog wat meer maar dat is wattie doet als iemand fout inlogged.. (mailen naar mij)


Pagina.php
PHP:
1
2
session_start();
if ($UserSession->Login  == "1") {


en de verder code natuurlijk.
Kheb al meerdere vormen van sessies geprobeerd maar eerst werkte het prima en nu niet meer :?

Ik zie het niet meer..

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Weet je zeker dat je username + wachtwoord wel het juiste resultaat oplevert uit de DB?

Daarnaast is de door jou gebruikte methode niet echt bijster veilig..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 30-08 16:13

RoRoo

Certified Prutser

Topicstarter
Yep username en password zijn goed..

maarruuh wat is er zo onveilig aan dan?
please explain..

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Als je wilt vergelijken met integers, vergelijk dan ook met integers, niet met strings:

$result == '1'
$UserSession->Login = 1
$UserSession->Login == "1"

Je gooit alles door elkaar..

[ Voor 18% gewijzigd door Bosmonster op 10-12-2002 14:04 ]


Acties:
  • 0 Henk 'm!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 30-08 16:13

RoRoo

Certified Prutser

Topicstarter
Bosmonster schreef op 10 december 2002 @ 14:03:
Als je wilt vergelijken met integers, vergelijk dan ook met integers, niet met strings:

$result == '1'
$UserSession->Login = 1
$UserSession->Login == "1"

Je gooit alles door elkaar..
eh,,, ok...

Ik had hiervoor een nog simpelere maar die was nog simpeler te hacken..

PHP:
1
2
3
4
if ($Results == '1') { 

            $Login = "1"; 
        session_register("Login");


maar die doet het nu ook niet meer

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
code:
1
Print "<meta http-equiv=refresh content=0;URL=$HTTP_REFERER>";


Kunnen wij er vanuit gaan dat deze in $HTTP_REFERER 'Pagina.php' staat ?

Zo niet .. dan weet je zelf nu vast wel wat er fout gaat :)

[ Voor 11% gewijzigd door Grum op 10-12-2002 14:20 ]


Acties:
  • 0 Henk 'm!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 30-08 16:13

RoRoo

Certified Prutser

Topicstarter
hij genereert inderdaad pagina.php daar jah :P

de login.php file wordt geinclude als je naar adddvd.php gaat en je niet ingelogged bent.

ben je wel ingelogged. dan laat hij gewoon het formpie zien.

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Acties:
  • 0 Henk 'm!

  • xos
  • Registratie: Januari 2002
  • Laatst online: 12-09 12:41

xos

Kakarot schreef op 10 December 2002 @ 13:55:
Yep username en password zijn goed..

maarruuh wat is er zo onveilig aan dan?
please explain..
Volgens mij kan je zoiets doen, www.jelink.org/admin.php?Login=1 en ben je automatisch ingelogd.

Acties:
  • 0 Henk 'm!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 30-08 16:13

RoRoo

Certified Prutser

Topicstarter
basterd schreef op 10 december 2002 @ 14:41:
[...]


Volgens mij kan je zoiets doen, www.jelink.org/admin.php?Login=1 en ben je automatisch ingelogd.
Op de oude manier wel jah.. daarom hak het ook aangepast :P
nu niet meer.

Maar het lijkt nu opgelost.

ben ff gaan denken wat ik veranderd heb aan de server. bleek dak in opdracht van een klant in php.ini session.use_cookies = 1 op 0 gezet had.
die weer op 1 gezet en het werkt weer..

vaagjes no?

Is dit een setting die cruciaal is?
Zal wel es op php.net koekelen.
spenks voor het meedenken

[ Voor 6% gewijzigd door RoRoo op 10-12-2002 14:57 . Reden: Doh! ]

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Acties:
  • 0 Henk 'm!

Verwijderd

Dus als je goed bent ingelogd ga je terug naar $HTTP_REFERER?

Ik zou trouwens een Location: header gebruiken in plaats van een meta refresh.

En wat gebeurd er als ik een GET doe naar die pagina en ik doe zoiets als:

.../login.php?password='iets'%20OR%20u_pass<>'''&username=iets

Acties:
  • 0 Henk 'm!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 30-08 16:13

RoRoo

Certified Prutser

Topicstarter
Location header werkt niet omdat ie zegt dat ze al verzonden zijn.

Kweenie watter gebeurd.. geef is een hackers string.. dan try ik em

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku

Pagina: 1