Login php - odczytuje wszystkie wielkosci liter z bazy.

0

Czesc, pisze sobie maly skrypt logowania i rejestracji w php. Skrypt jest napisany, ale problem polega na tym, ze nie odroznia od wielkosci liter, rejestrujac sie wpisalem haslo malymi litrami(login w sumie tez) i niewazne jaka kominacja, duzych,malych liter byle by bylo to samo haslo, to i tak wejdzie przez system logowania.

0

Hasło powinno być hashowane :P

0

_
<font size="40" color="red">POKAŻ KOD</span>

0
<?php

ob_start();
$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name 


@mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
@mysql_select_db("$db_name")or die("cannot select DB");


$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 


$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='$mypassword'";
$result=mysql_query($sql);


$count=mysql_num_rows($result);


if($count==1){


$_SESSION['username']= $myusername;
$_SESSION['mypassword']= $mypassword;
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>
 
0

A tutaj register php

<?php
	include("login.php");
	$login=$_POST["login"];
	$haslo=$_POST["password"];
	
	$zapytanie=@mysql_query("INSERT INTO members(id,username,password) values ('','$login','$haslo')");
	header("Location: main_login.php");
?>
 
0

O mój słodki boże, co to jest?

1.Wszystkie funkcje mysql_*zdeprecjonowane.
2.Dlaczego nie hashujesz hasła?
3.Nie sprawdzasz czy odczytywane przez Ciebie dane w ogóle istnieją w $_POST.
4.@mysql_connect("$host", "$username", "$password") a te cudzysłowy tutaj po co?
5.Wydziel łączenie z bazą do osobnego pliku, a najlepiej osobnego pliku i klasy.
6.INSERT INTO members(id,username,password) values ('','$login','$haslo') po co robisz insert z id, skoro potem i tak go nie podajesz? :v

1
  1. zmienić collation tabeli z _ci na _cs
  2. dodać BINARY do warunku - SELECT * FROM $tbl_name WHERE BINARY username='$myusername' and BINARY password='$mypassword'
0

Dziekuje serdecznie za odp. Temat do zamkniecia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1