• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Hashowanie hasła jak usunąć

Object Storage Arubacloud
+1 głos
1,606 wizyt
pytanie zadane 6 stycznia 2016 w SQL, bazy danych przez toster234 Początkujący (370 p.)

Jak usunąć hashowanie (chyba tak to się pisze)  hasła z tego kodu.
Chodzi mi o to żeby do bazy danych dotarły dane hasła bez za kodwania.

		//Sprawdź poprawność hasła
		$haslo1 = $_POST['haslo1'];
		$haslo2 = $_POST['haslo2'];
		
		if ((strlen($haslo1)<8) || (strlen($haslo1)>20))
		{
			$wszystko_OK=false;
			$_SESSION['e_haslo']="Hasło musi posiadać od 8 do 20 znaków!";
		}
		
		if ($haslo1!=$haslo2)
		{
			$wszystko_OK=false;
			$_SESSION['e_haslo']="Podane hasła nie są identyczne!";
		}	

		$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
		

Usuwałem "        $haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);" ale to z powodowało że do bazy danych w linijce gdzie ma być hasło nie było nic a przy rejestracji wpisywało się hasło

 

2 odpowiedzi

+7 głosów
odpowiedź 6 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 6 stycznia 2016 przez toster234
 
Najlepsza

Dopiero co był podobny temat na forum, nie wiem czy jest czy został usunięty ale...

pod żadnym pozorem nie wolno usunąć haszowania hasła!

Nie wiem jaki masz problem z logowaniem, powiedz dokładnie o co chodzi i co masz na myśli mówiąc, że "użytkownicy nie mogą się zalogować" ale wybij sobie raz na zawsze z głowy przechowywanie hasła w formie czystego tekstu.

komentarz 6 stycznia 2016 przez toster234 Początkujący (370 p.)
Może pan spróbować się zarejestrować na stronie http://rc-polska.com.pl/rejestracja.php a potem zalogować http://rc-polska.com.pl/login.php i nie hasło nie będzie po prawne, w bazie danych jest hasło za hashowane a żeby się po prawnie zalogować trzeba przy użyciu tego hasha z bazy danych a nie ustalonego hasła z rejestracji. Dlatego pomyślałem o usunięciu hashowania.
komentarz 6 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)

Po pierwsze nie musi być pan (przynajmniej z mojej strony) - traktuję tutaj na forum wszystkich jak kolegów.

Po drugie - już NIGDY nie myśl aby usunąć haszowanie jakichkolwiek haseł gdziekolwiek - hasło to rzecz która ma być zabezpieczona ;)

A teraz co do samego problemu. Musisz mieć coś nie tak z logowaniem. Skoro rejestracja dobrze haszuje i zapisuje to do bazy to w logowaniu na podstawie wprowadzonego loginu musisz pobrać to zahaszowane hasło z bazy i porównać je przy użyciu password_verify(). Tak masz zrobione?

komentarz 6 stycznia 2016 przez toster234 Początkujący (370 p.)

Nigdzie tego nie mam, chociażby nie widzie. Cały kod został pobrany z bloga Mirosława.
Kod:
 

<?php

	session_start();
	
	if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
	{
		header('Location: login.php');
		exit();
	}

	require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
	
	if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$login = $_POST['login'];
		$haslo = $_POST['haslo'];
		
		$login = htmlentities($login, ENT_QUOTES, "UTF-8");
		$haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
	
		if ($rezultat = @$polaczenie->query(
		sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
		mysqli_real_escape_string($polaczenie,$login),
		mysqli_real_escape_string($polaczenie,$haslo))))
		{
			$ilu_userow = $rezultat->num_rows;
			if($ilu_userow>0)
			{
				$_SESSION['zalogowany'] = true;
				
				$wiersz = $rezultat->fetch_assoc();
				$_SESSION['id'] = $wiersz['id'];
				$_SESSION['user'] = $wiersz['user'];
				$_SESSION['drewno'] = $wiersz['drewno'];
				$_SESSION['kamien'] = $wiersz['kamien'];
				$_SESSION['ranga'] = $wiersz['ranga'];
				$_SESSION['email'] = $wiersz['email'];
				$_SESSION['dnipremium'] = $wiersz['dnipremium'];
				
				unset($_SESSION['blad']);
				$rezultat->free_result();
				header('Location: gra.php');
				
			} else {
				
				$_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
				header('Location: login.php');
				
			}
			
		}
		
		$polaczenie->close();
	}
	
?>

 

komentarz 6 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
Z tego co widzę to jest logowanie jakie było użyte w drugim odcinku kursu. Po wprowadzeniu haszowania w 3 odcinku to logowanie się już do niczego nie nadaje.

Zobacz jeszcze raz odcinek 3 - gdzieś w tym miejscu jest poprawka do logowania https://youtu.be/fMJw90n8M60?t=1h2m

Albo pobierz jeszcze raz paczkę i podmień plik z logowaniem.
komentarz 6 stycznia 2016 przez toster234 Początkujący (370 p.)
Rzeczywiście już działa. Dziękuje, po prostu zapomniałem podmienić tylko tego pliku na nowy :/
komentarz 6 stycznia 2016 przez efiku Szeryf (75,160 p.)
Kwintesencja tych kursów. To sobie przerób ten plik logowania. Posłuchaj co mówi MZ od 1:42:00:00 w kursie #3 Niestety ale wątpię byś otrzymał pomoc jak chcesz usunąć hashowanie. Bo po prostu wiemy, że to jest bardzo złe.. ;) lepiej nauczyć się pracować na hashach niż na czystych hasłach! Co do logowania, możesz sprawdzać po loginie i później dostaniesz z bazy też hasło które weryfikujesz przy pomocy password_verify z czystym hasłem wprowadzonym przez uzytkownika.
komentarz 6 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nie ma sprawy, może dzięki temu chociaż zapamiętasz że hasła mają być zahaszowane i koniec ;)

@efik już wyjaśnione, zapomniał podmienić pliku...

Swoją drogą to słuszna uwaga, powinieneś sobie to przerobić, przeanalizować kurs i najlepiej pisać samemu a nie skopiować i "a no może zadziała".
komentarz 6 stycznia 2016 przez efiku Szeryf (75,160 p.)
Nieważne ile trwa odcinek, ważne, że jest gotowiec (✌ ゚ ∀ ゚)☞
komentarz 6 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
No niestety... Ale jak komuś nie zależy aby się czegoś nauczyć to co, nic nie poradzimy - jego problem.
+1 głos
odpowiedź 6 stycznia 2016 przez Mariusz O Mądrala (5,290 p.)
Widać, że nie masz podstaw; a hashowania haseł się nie usuwa. Bezpieczeństwo przede wszystkim.
komentarz 6 stycznia 2016 przez toster234 Początkujący (370 p.)
Ale przez to użytkownicy nie mogą się  zalogować bo te hasło które wpisali zostało zahashowane i jako hasło działa tylko on. A nie chcemy przecież żeby wpisywać hashy tylko hasło które sobie przydzielimy
komentarz 6 stycznia 2016 przez Mariusz O Mądrala (5,290 p.)
W miejscu logowania należy wprowadzić hashe.

Podobne pytania

–1 głos
0 odpowiedzi 525 wizyt
pytanie zadane 20 kwietnia 2017 w Java przez manjaro Nałogowiec (37,390 p.)
+1 głos
1 odpowiedź 2,527 wizyt
pytanie zadane 26 kwietnia 2016 w Bezpieczeństwo, hacking przez niezalogowany
+1 głos
1 odpowiedź 156 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...