Zadejte hledaný výraz...

PHP dovolí při ověření 2x prázné políčko pro heslo

Zdravím. Chtěl bych trošku poupravit tento kód, aby to uživatele nepustilo k uložení prázdného hesla. Díky mockrát
define('INCLUDE_CHECK',true);
require 'connect.php';
require 'functions.php';
// Those two files can be included only if INCLUDE_CHECK is defined
session_name('xxxx');
// Starting the session
session_set_cookie_params(2*7*24*60*60);
// Making the cookie live for 2 weeks
session_start();
if($_SESSION && !isset($_COOKIE) && !$_SESSION)
{
// If you are logged in, but you don't have the tzRemember cookie (browser restart)
// and you have not checked the rememberMe checkbox:
$_SESSION = array();
session_destroy();
// Destroy the session
}
?>
Změna hesla
include 'connect.php';
$username = protect($_POST);
$password = sha1($_POST);
$confirm = sha1($_POST);
$email = protect($_POST);
$ip = $_SERVER;
$datem = Date("j.m.Y - H:i:s", Time());
$errors = array();
function protect($string){
$string = mysql_real_escape_string($string);
$string = strip_tags($string);
$string = addslashes($string);
return $string;
}
if(!$_POST){
echo "
Heslo:
Heslo znovu:
" ;
}else {
if(!$password){
$errors[] = "Heslo nebylo zadáno!";
}
if($password){
if(!$confirm){
$errors[] = "Ověřovací heslo nebylo zadáno!!";
}
}
if($password && $confirm){
if($password != $confirm){
$errors[] = "Ále, chybička se vloudila :( - Neshoda hesel
Heslo:
Heslo znovu:
";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "
n";
}
}else {
$ssn = $_SESSION ;
$sql4 = "UPDATE `authme` SET `password` = '$password' WHERE id = '$ssn' ";
$res4 = mysql_query($sql4) or die(mysql_error());
echo "Změna hesla proběhla úspěšně.
";
}
}
?>
8. 8. 2012 17:50:53
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794342
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
8. 8. 2012 17:58:11
8. 8. 2012 17:58:11
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794341
Bohužel, ani toto nepomůže
8. 8. 2012 18:48:01
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794340
Pavel Janků
verified
rating uzivatele
(93 hodnocení)
8. 8. 2012 18:50:35
A co použít strlen()? Vráí počet znaků ve stringu, tak by se to dalo postavit na tom...
8. 8. 2012 18:50:35
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794339
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
8. 8. 2012 18:50:43
Tak napiš co se má stát po odeslání formuláře. Uvedené neprovádělo zápis do DB a dej info co se tedy stane.
8. 8. 2012 18:50:43
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794338
Po odeslání formuláře se to má Aktualizovat do databáze, ale musí být vyplněna stejně pole heslo a kontrola hesla. Funguje to výborně, akorát se to ukládá ikdyž jsou prázdná obě hesla a pokud je vše v pořádku tak se to taky uloží.
PS: Uvedený skript funguje dobře
8. 8. 2012 18:56:32
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794337
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
8. 8. 2012 19:00:02
už to vidím. tam je sha1. to vytvoří hash i z prázdného znaku
---------- Příspěvek doplněn 08.08.2012 v 19:01 ----------
8. 8. 2012 19:00:02
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794336
Aha. Vidím, ale jak to udělat, pokud nechci aby se bez SHA1 neposílala proměnná ve tvaru $_POST ?
8. 8. 2012 19:02:08
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794335
Sniper
verified
rating uzivatele
8. 8. 2012 19:09:45
To empty je dobre, ale nevolat to na konci na $password, ale na zacatku na $_POST. $password vznika jako vysledek hashovani $_POST a hash i prazdnyho retezce je neprazdnej!
Proto pri kontrole na "prazdnost" tady upravime podminky, aby pracovaly se vstupem uzivatele a ne vystupem fce sha1();
8. 8. 2012 19:09:45
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794334
Mnohokrát děkuji uživateli Sniper
8. 8. 2012 19:14:00
https://webtrh.cz/diskuse/php-dovoli-pri-overeni-2x-prazne-policko-pro-heslo/#reply794333
Pro odpověď se přihlašte.
Přihlásit