problem oko register/login sistema

problem oko register/login sistema

offline
  • Pridružio: 01 Feb 2014
  • Poruke: 92

Napisano: 15 Jul 2014 12:52

pozdrav
imam jedan cudan problem ovdje
na svom sajtu (tacnije na svom pokusaju pravljenja online browser igre) sam napravio sistem register/login,za koji sam mislio da odlicno funkcionise
medjutim danas sam se uvjerio da to nije slucaj
naime desava mi se da nekad kada se registrujem,pa nakon toga logujem sa tim podacima, sve bezprijekorno radi,a nekad se uspjesno registrujem,ali prilikom pokusaja da se sa tim istim podacima logujem izbacuje poruku da sam unio netacan username ili password

Malo me cudilo zasto to nekad radi a nekad ne,pa sam pokusao sa raznim kombinacijama i uvudio slijedece:
Username | password
player1 | pass1 -radi
player2 | pass2 -ne radi
player3 | pass3 -radi
player4 | pass4 -ne radi
player5 | pass5 -ne radi
player6 | pass6 -ne radi
player7 | pass7 - radi

tu sam stao,onda sam pokusao mijenajti imena i sifre,pa sam saznao da to da li ce login raditi ili nece zavisi samo od sifre
recimo kada sam probao sifru "pass2" koja ne radi,ona nije radila ni sa jednimod ovih 7 nickova/username-a, s druge strane sifra pass7 koja je radila u kombinaciji sa username-om player7 radi sa svim nickovima/username-ima

Nije mi nikako jasno zasto pojedine sifre rade a druge ne,bas sam zbunjen Confused
evo koda od PHP dokumenta "authenticate.php" koji zapravo odlucuje da li se username i password slazu sa onima iz baze podataka


<?php include_once 'connect.php'; session_start(); if (isset ($_POST['submit'])) { $player=$_POST['player']; $password=$_POST['password']; $player=strip_tags($player); $password=strip_tags($password); $password=md5($password); $query = "Select name,password from players where name='$player' and '$password'"; $result = mysql_query ($query) or die ("Could not query players"); $result2 = mysql_fetch_array($result); if ($result2) { $_SESSION['player']=$player; echo "<big>Logged in successfully<br>"; echo "<A href='battle.php'>Continue</a></big>"; } else { echo "<big>Wrong username or password.<A href='login.php'>Try again</a></big>"; } } ?>

Dopuna: 16 Jul 2014 14:44

Problem rjesen.
Na zalost niko nije pokusao d mi pomogne oko rjesavanja ovog problema pa sam se malo vise raspitivao,da bi na kraju shvatio da sam previdio jednu stvar i da moj kod nije bio uredan
treba promijeniti ovo:
$query = "Select name,password from players where name='$player' and '$password'";

u ovo:

$query = "Select name,password from players where name='$player' and password='$password'";



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

I ja sam tek sada video ovu poruku, još jedna BITNA stvar:
$player=$_POST['player']; $password=$_POST['password'];
napravi da bude ovako:
$player=trim($_POST['player']); $password=trim($_POST['password']);

trim() čisti prazan prostor pre i posle nekog sadržaja. Može se desiti da ti napravi error jer je neko slučajno kliknuo na space. Wink

i još nešto:
$password=md5($password);
ajde malo zakomplikuj sebi i drugima: $password=md5(str_rot13(md5(str_rot13(base64_encode($password))).md5($player)));
-Veoma je lako da se md5 provali. Ako nekako taj MD5 vidi, može da pročita sadržaj. Ovako je malo sigurniji jer je enkodiran nekoliku puta, izrotiran i ko zna šta još. Ovo sam sada izmislio, ti napravi svoju skriptu.



Ko je trenutno na forumu
 

Ukupno su 1257 korisnika na forumu :: 26 registrovanih, 6 sakrivenih i 1225 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: amaterSRB, babaroga, Boris BM, CikaKURE, Dimitrije Paunovic, draganca, Georgius, Hexe, Ivan001, jaeger, JOntra, Još malo pa deda, mile23, mrav pesadinac, nesa1962, ostoja, raptorsi, ruma, S2M, sevenino, stegonosa, suton, vandrej, vathra, Vlada1389, vladulns