Avatar billede itmouse Nybegynder
22. december 2010 - 20:26 Der er 3 kommentarer og
1 løsning

Bypassing af min tjek kode

Jeg er igang med at lave et loginsystem i php + mysql ved brug af nedenstående check script.

-------------------------------------------
<?php
ob_start();
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// Encrypt password
$encrypted_mypassword=md5($mypassword);

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$encrypted_mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_start();
$_SESSION["myusername"] = $myusername;
$_SESSION["mypassword"] = $mypassword;
header("location:login_success.php");
}
exit();

else {
header("location:login_error.php");
}
exit();

ob_end_flush();
?>
-------------------------------------------

Jeg har af en eller anden grund adgang til login.success.php ved bare at skrive localhost/login.success.php og bypass'er nærmest tjekket, som vist herunder:

<?
session_start();
if(!isset($_SESSION['myusername'])){
header("location:index.php");
exit();
}
?>
Avatar billede webweaver Praktikant
22. december 2010 - 20:57 #1
Og du er sikker på det ikke er fordi sessionen stadig kører?

Har du prøvet at ændre navnet på den session ved dit login check? Altså fra myusername til noget helt andet som slet ikke eksisterer? Bare for at checke for det som jeg lige spurgte om.
Avatar billede itmouse Nybegynder
22. december 2010 - 21:24 #2
Jeg har fundet ud af det. Jeg kører med en WAMP server og der virker det ikke. Jeg langde siden ud på min web og der fungerede det hele. Jeg ved ikke om det er fordi jeg mangler at slå et eller andet modul til i WAMP serveren, who knows?:)

Tak for input
Avatar billede webweaver Praktikant
22. december 2010 - 21:30 #3
Tjaa det kan godt ske. Men fint at det virker :)
Burde det nu også gøre ...

Fortsat god aften :-)
Avatar billede itmouse Nybegynder
15. maj 2011 - 18:13 #4
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester