[PHP]Inlog systeem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb zojuist een inlog systeem geschreven met forms/mysql alleen nu vind ik het irritant en onveilig dat als er gesubmit word hij in de adresbalk login.php?username=<<>>&&password=<<>> weergeeft ..

ik gebruik de post method in mij form

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 session_start();
?>

<?php
If (isset($_GET["submit"]))
 {
  mysql_connect("localhost", "...", "...");
  mysql_select_db("logindb");
  $login_select = "SELECT * FROM gebruiker WHERE loginnaam = '$loginnaam'";
  $login_query = mysql_query($login_select);
  if ($login = mysql_fetch_object($login_query))
  {
   $nakijken = $login->loginpass;
   if ($nakijken == $loginpassword)
   {
     echo"<META HTTP-EQUIV='Refresh' CONTENT='2; URL=vervolg.php'>";
     $login->login = 1;
     session_register("login");
     echo "Je bent ingelogd. Klik <a href=\"vervolg.php\">hier</a> om verder te gaan.\n";
   }
   else
   {
     echo"<SCRIPT LANGUAGE=\"JavaScript\">setTimeout(\"document.location.href 
= 'login.php' \",1000);</SCRIPT>";
     echo " Je gebruikersnaam of password klopt niet.\n";
   }
  }
 }
else
#hier komt het form

[ Voor 16% gewijzigd door Verwijderd op 15-03-2003 15:14 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Als die velden in de url komen heb je geen POST maar GET gebruikt.
Dat zie ik niet staan in die code die je hier hebt geplaatst dus ik zou eens naar je <form> tag kijken. Basically zou er <form action="..." method="post"> moeten staan.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dit staat er in mijn form code

echo"<form method=\"post\" action=$PHP_SELF>";

Acties:
  • 0 Henk 'm!

Verwijderd

Geef eens als action gewoon login.php ipv $PHP_SELF, wat doet ie dan?
En verder zie ik dat je $_GET["submit"] gebruikt, maar als je method post is moet je ook $_POST['submit'] gebruiken ;)

En dan, in je query gebruik je $loginnaam, maar waar haal je die vandaan :?
Als globals uitstaat zul je toch ergens $loginnaam = $_POST['loginnaam'] moeten zetten.

[ Voor 83% gewijzigd door Verwijderd op 15-03-2003 15:35 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nu heb ik er dus login.php van gemaakt en hij blijft dit nogsteeeds geven

login.php?loginnaam=<<>>&loginpassword=<<>>&submit=1

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 15 maart 2003 @ 15:34:
nu heb ik er dus login.php van gemaakt en hij blijft dit nogsteeeds geven

login.php?loginnaam=<<>>&loginpassword=<<>>&submit=1
Hmmm, en als je het zo doet:
<form method="post" action="<?=$PHP_SELF; ?>">
(dus niet laten echo'en)

[ Voor 17% gewijzigd door Verwijderd op 15-03-2003 15:39 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb nu $_GET in $_POST veranderd maar dan gaat hij als ik op submit druk niet verder naar Je bent ingelogd.. je blijft het form zien..

ik heb ook
echo"<form method=\"post\" action=\"=$PHP_SELF\">";

ik had het eerst zonder echo's gemaakt en toen was het probleem ook al :?

[ Voor 24% gewijzigd door Verwijderd op 15-03-2003 15:41 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 15 maart 2003 @ 15:40:
ik heb nu $_GET in $_POST veranderd maar dan gaat hij als ik op submit druk niet verder naar Je bent ingelogd.. je blijft het form zien..

ik heb ook
echo"<form method=\"post\" action=\"=$PHP_SELF\">";

ik had het eerst zonder echo's gemaakt en toen was het probleem ook al :?
Ok, maar ik denk dat het fout gaat bij het echo'en...want jij geeft wel 'post' aan maar hij doet niet wat ie zou moeten doen ;)

Dus ik vraag ff of je het zo kan doen:
PHP:
1
2
3
4
5
6
7
8
<?
// zooi 
// bla
?>
<form method="post" action="<?=$PHP_SELF; ?>">
<?
// Bla
?>


Edit: Zonder echo ook al :?
Wat staat er dan in je source bij <form ...> ??
Want als het daar gewoon goed staat dan weet ik echt niet wat er fout kan gaan...

[ Voor 31% gewijzigd door Verwijderd op 15-03-2003 15:47 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
beetje dom, maar ik had dus voor <form method="post" action="<?php $PHP_SELF ?>"> nog een keer <form> staan, was dubbel :S

maar het werkt nu, thx!

Acties:
  • 0 Henk 'm!

Verwijderd

Ok dan :)
En haal de username ook nog eens door addslashes() of htmlspeciachars() bijvoorbeeld, dan voorkom je mogelijke problemen :)

[ Voor 3% gewijzigd door Verwijderd op 15-03-2003 15:52 ]

Pagina: 1