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

password hash blad

Object Storage Arubacloud
0 głosów
289 wizyt
pytanie zadane 16 sierpnia 2016 w PHP przez kkiermasz Użytkownik (680 p.)

Witam!
W fragmencie kodu odpowiadającym za hashowanie hasła muszę mieć błąd, za cholerę nie wiem gdzie. Jak wywalę, to strona działa. Jak dopisze ten fragment to wywala ERROR 500.
 

<?php

	session_start();

	if(isset($_POST['email']))
	{
		$wszystkook=true;
		
		$login = $_POST['login'];  
		
		if((strlen($login)<3) || (strlen($login)>20)) //długość loginu
		{
			$wszystkook=false;
			$_SESSION['e_login']="Login musi posiadać od 3 do 20 znaków";
		}
		
		if(ctype_alnum($login)==false) //czy ktos nie chcial mnie oszukac
		{
			$wszystkook=false;
			$_SESSION['e_login']="Login może skladać się tylko z liter i cyfr";
		}
	
	
	
		
		$email = $_POST['email'];  //poprawnosc email
		$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
		
		if((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
		{
			$wszystkook=false;
			$_SESSION['e_email']="Podaj poprawny adres e-mail";
		}
		
		
		
		
		
		$haslo1 = $_POST['haslo1'];     //pass check
		$haslo2 = $_POST['haslo2'];
			
		if((strlen($haslo1)<8) || (strlen($haslo1)>20)) //długość hasła
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Hasło musi zawierać od 8 do 20 znaków";
		}
		
		if($haslo1!=$haslo2)
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Podane hasła nie są identyczne";
		}
		
		$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
		echo $haslo_hash; exit();  
		
		if($wszystkook==true)
		{
			echo "Udana walidacja!"; exit();
		}
		
	}
	
?>

<!DOCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	
	<link rel="stylesheet" href="styles/register_style.css" type="text/css" />
	<link href='https://fonts.googleapis.com/css?family=Lato:400,700&subset=latin-ext' rel='stylesheet' type='text/css'>
	
	<meta name="title" content="Zarejestruj się" />
	<meta name="description" content="Panel rejestracji" />
	<meta name="keywords" content="rejestracja, test" />
	
	<script src='https://www.google.com/recaptcha/api.js'></script>
</head>

<body>
	
		<div id="container">
			<form method="post">
				
				<input type="text" placeholder="login" name="login">
				<?php
				
					if(isset($_SESSION['e_login']))
					{
						echo '<div class="error">'.$_SESSION['e_login'].'</div>';
						unset($_SESSION['e_login']);
					}
				?>
				
				
				<input type="email" placeholder="adres e-mail" name="email">
				<?php
				
					if(isset($_SESSION['e_email']))
					{
						echo '<div class="error">'.$_SESSION['e_email'].'</div>';
						unset($_SESSION['e_email']);
					}
				?>
				
				
				<input type="password" placeholder="hasło" name="haslo1">
				
			
				<input type="password" placeholder="powtórz hasło" name="haslo2">		
				<?php
				
					if(isset($_SESSION['e_haslo']))
					{
						echo '<div class="error">'.$_SESSION['e_haslo'].'</div>';
						unset($_SESSION['e_haslo']);
					}
				?>
				
				
				<label>
					<input type="checkbox" name="regulamin">  Akceptuję regulamin 
				</label>
				
				<div class="g-recaptcha" data-sitekey="6LflJSYTAAAAACPN7nuzkjIOg4sUwXvrfW8iTv6t"></div>
				
				<input type="submit" value="Zarejstruj się">
				
			</form>
			
			<a id="usun" href="login.php">
				<div id="zaloguj">
				Masz już konto? Zaloguj się!
				</div>
			</a>
			
		</div>
		

		
</body>
</html>

 

3 odpowiedzi

+1 głos
odpowiedź 16 sierpnia 2016 przez Comandeer Guru (601,590 p.)

Najpierw włącz sensowne wyświetlanie błędów. Później sprawdź, jaką masz wersję PHP. Musisz mieć przynajmniej 5.5.

komentarz 16 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)

Fatal error: Call to undefined function password_hash() in /srv/accounts/600/5a7/public_html/www/register.php on line 57


Co do wersji ogarnę jutro, spytam się administratora mojego serwera

2
komentarz 16 sierpnia 2016 przez Comandeer Guru (601,590 p.)
No to już Ci mówię, że masz starszą niż 5.5. Strzelam, że 5.3 ;)
komentarz 17 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)
5.4.4 jak się okazało :D
komentarz 17 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)
Serwer nie może mieć nowszego PHP, gdyż posypią się strony klientów. :C
Instaluję więc XAMPPa
0 głosów
odpowiedź 17 sierpnia 2016 przez efiku Szeryf (75,160 p.)
Zaktualizuj PHP do minimum 5.6 jak jest opcja 7 to bierz 7.

Chyba, że wolisz siedzieć na nie wspieranych i słabych wersjach, to droga wolna :P
–2 głosów
odpowiedź 16 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)

tak nie wywala błędu

	$haslo1 = $_POST['haslo1'];     //pass check
		$haslo2 = $_POST['haslo2'];
			
		if((strlen($haslo1)<8) || (strlen($haslo1)>20)) //długość hasła
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Hasło musi zawierać od 8 do 20 znaków";
		}
		
		if($haslo1!=$haslo2)
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Podane hasła nie są identyczne";
		}
		
	//	$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
	//	echo $haslo_hash; exit();  
	
		echo $haslo1; exit();
		
		if($wszystkook==true)
		{
			echo "Udana walidacja!"; exit();
		}
		
	}

 

komentarz 17 sierpnia 2016 przez efiku Szeryf (75,160 p.)
mb_strlen :))))))

Podobne pytania

0 głosów
1 odpowiedź 290 wizyt
pytanie zadane 22 października 2015 w PHP przez Maksymilian Sadowski Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 331 wizyt
pytanie zadane 2 listopada 2019 w C i C++ przez matlena00 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 527 wizyt

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,963 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!

...