[ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.05.09
Prihlásený: 14.02.14
Príspevky: 106
Témy: 52 | 52
NapísalOffline : 19.07.2012 11:41 | Neberie heslo

Nazdar, mám urobenu registraciu v ktorej som si heslo ošetril cez sha1 a salt. Registracia prebehne uspesne, vsetko je v databaze tak ako som chcel ale kazde prihlasenie je neuspesne. Na skusku som nechal prihlasit len podla emailu, bez hesla a islo to. Heslo proste z tej databazy nevytiahne. Takze predpokladam, ze chyba je niekde medzi MySQL a prihlasovacim skriptom. Nizsie hadzem casti kodu, dakujem.

registracia.php
Kód:
...
$salt = sha1(rand());
$heslo = sha1($heslo.$salt);

$add = "INSERT INTO uzivatelia (mail, heslo, meno) VALUES ('$mail', '$heslo', '$meno')";
...


prihlasit.php
Kód:
...
$mail = mysql_real_escape_string($_POST['mail']);
$heslo = mysql_real_escape_string($_POST['heslo']);

$sql = "SELECT * FROM ".$tbl_name." WHERE mail ='".$mail."' and heslo='".$heslo."'";
$result = mysql_query($sql);
$pocet_riadkov = mysql_num_rows($result);
...


Offline

Správca fóra
Správca fóra
Neberie heslo

Registrovaný: 08.08.09
Príspevky: 12516
Témy: 41 | 41
Bydlisko: Martin
NapísalOffline : 19.07.2012 11:47 | Neberie heslo

Ten salt musíš vymyslieť nejako inak. Totiž pri prihlasovaní zadáš napríklad heslo 12345, sha1() odtlačok je 8cb2237d0679ca88db6464eac60da96345513964.
Ale ak sa s týmto heslom zaregistruješ, pridáš na koniec rand()om string so sha1() a to už sa zhodovať nebude.

Názorná ukážka, spusti si niekde na test tento kód:
Kód:
<?php
   $string = "12345";
   $salt = sha1(rand()); // tu vytvoríme sha-salt
   $sha = sha1($string); // tu sha nášho super hesla
   $result = $sha.$salt; // spojíme podľa tvojho postupu
      echo "Naše supertajné heslo: ".$string;
      echo "<br />SHA1 zapísaného stringu: ".$sha;
      echo "<br />SHA1 saltu: ".$salt;
      echo "<br />A výsledok: ".$result;
      // zdá sa ti to rovnaké?
?>


Takže pochopiteľne ti tabuľka vracia nulový počet riadkov.


Naposledy upravil killer dňa 19.07.2012 11:57, celkovo upravené 1

_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.05.09
Prihlásený: 14.02.14
Príspevky: 106
Témy: 52 | 52
Napísal autor témyOffline : 19.07.2012 11:57 | Neberie heslo

Ďakujem za pripomienku, vyriesim to. Na skusku som odstranil cely $salt = sha1(rand()); a nechal som len zahashovane heslo a problem je stale rovnaky. Stale mi vypisuje 0 riadkov v databaze.

Este doplnim ze momentalne skusam na localhoste, nemoze byt problem v tom?


Naposledy upravil maťo* dňa 19.07.2012 12:00, celkovo upravené 1

Offline

Užívateľ
Užívateľ
Neberie heslo

Registrovaný: 27.12.08
Prihlásený: 24.11.16
Príspevky: 1881
Témy: 96 | 96
Bydlisko: Bratislava,...
Vek: 23
NapísalOffline : 19.07.2012 12:00 | Neberie heslo

pretože pri porovnávaní zadané heslo nehashuješ ale v tabuľke máš uložené zahashované heslo


_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.05.09
Prihlásený: 14.02.14
Príspevky: 106
Témy: 52 | 52
Napísal autor témyOffline : 19.07.2012 12:01 | Neberie heslo

Heslo mám hashovať aj v prihlasovacom skripte? Ako som totalny zaciatocnik ale toto som este nikde nevidel. V kazdom pripade dakujem za radu, idem skusit :)

// Ešte raz dakujem, funguje to. Este otazka na zaver: je to zdrave riesenie?


Offline

Užívateľ
Užívateľ
Neberie heslo

Registrovaný: 27.12.08
Prihlásený: 24.11.16
Príspevky: 1881
Témy: 96 | 96
Bydlisko: Bratislava,...
Vek: 23
NapísalOffline : 19.07.2012 12:06 | Neberie heslo

tak logicky $heslo sa nemôže rovnať sha1($heslo).. a čo tým myslíš zdravé riešenie?


_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.05.09
Prihlásený: 14.02.14
Príspevky: 106
Témy: 52 | 52
Napísal autor témyOffline : 19.07.2012 12:08 | Neberie heslo

Máš pravdu. Nejak mi zlyhala logika. Zdavym riesim som myslel ci je to standardny postup, bezproblemovy.


Offline

Správca fóra
Správca fóra
Neberie heslo

Registrovaný: 08.08.09
Príspevky: 12516
Témy: 41 | 41
Bydlisko: Martin
NapísalOffline : 19.07.2012 12:12 | Neberie heslo

Je to jednoduché a relatívne účinné riešenie. Záleží však od toho, čo týmto prihlásením zabezpečíš a ako čo najlepšie zabezpečíš, aby prihlásený užívateľ bol ozaj ten, za koho sa vydáva - to je takmer vždy ťažšie ako overenie správnosti samotného hesla pri prihlasovaní.
Dobrá rada do budúcnosti: Píš to tak, ako keby si za každým rohom čakal užívateľa, ktorý ti bude chcieť nabúrať databázu.


_________________
always is always wrong
Offline

Skúsený užívateľ
Skúsený užívateľ
Neberie heslo

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 19.07.2012 12:41 | Neberie heslo

Poradím ti, pozri Google ohľadom hashovania a bezpečnosti... Možno prídeš na to, že nemusíš vymýšľať postupy úplne odznovu.

http://crackstation.net/hashing-securit ... sourcecode
http://stackoverflow.com/questions/6017 ... ion-in-php


_________________
C#, PHP, ...
 [ Príspevkov: 9 ] 


Neberie heslo



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Wifi neberie heslo

v Siete

3

404

10.07.2009 16:29

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

neberie mi heslo do wifi

v Ostatné programy

2

406

03.03.2012 11:18

crazymother

V tomto fóre nie sú ďalšie neprečítané témy.

Trilian neberie heslo k ICQ uctu, Pidgin ano

v Sieťové a internetové programy

7

509

21.01.2010 18:05

Tech

V tomto fóre nie sú ďalšie neprečítané témy.

Bios heslo a heslo PC

v Biosy a ladenie výkonu

5

733

12.05.2010 18:21

KatjushaMan

V tomto fóre nie sú ďalšie neprečítané témy.

neberie DvD

v Video programy

3

761

12.01.2006 16:36

ScorpionSX

V tomto fóre nie sú ďalšie neprečítané témy.

USB neberie myš

v Ostatné

11

217

14.07.2015 18:09

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

neberie overovaci kód

v Smartfóny a tablety

0

99

19.03.2013 18:50

librabis

V tomto fóre nie sú ďalšie neprečítané témy.

ProBook 4730s neberie ovládače

v Ovládače

13

205

08.01.2017 15:32

DiPo

V tomto fóre nie sú ďalšie neprečítané témy.

Win XP neberie SATA HDD

v Pevné disky a radiče

12

1529

30.09.2008 21:20

putzig

V tomto fóre nie sú ďalšie neprečítané témy.

Skype neberie kameru na notebook

v Sieťové a internetové programy

5

1345

19.08.2010 10:16

Revolution

V tomto fóre nie sú ďalšie neprečítané témy.

Nokia 6020 neberie správny PIN kód

v Mobilné zariadenia

1

696

03.10.2008 12:38

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

OEM Vista x64, neberie aktivačný kľúč

v Operačné systémy Microsoft

12

623

04.01.2011 18:28

sysel777

V tomto fóre nie sú ďalšie neprečítané témy.

novy notebook a neberie cd/dvd

v Optické zariadenia

1

404

18.10.2011 22:48

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

DVD rekorder neberie zvuk z 2 stanic

v Ostatné

7

318

17.01.2011 22:18

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

neberie mi php skript v html subore

v PHP, ASP

4

429

17.07.2010 11:35

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Neberie mi 8GB ram ale len 4 GB

v Pamäte

7

1451

06.12.2011 21:04

Martinicoss



© 2005 - 2017 PCforum, edited by JanoF