Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
Dobry den potreboval by som niaky script na zmenu hesla a mailu.
Daco us zbucahte ja php neviem...
Zatial som si urobil pass.php
Kód: <link rel="stylesheet" href="style.css"> <center>Zmena hesla na prístup do užívateľského profilu</center> <?php include "security.php"; include "config.php"; $query = "SELECT * FROM users WHERE login=\"".$_GET['login']."\"" ; $result = mysql_query($query, $link) or die ("Chyba"); $cosi = mysql_fetch_array($result); ?> <style type="text/css"> xx {padding-left: 50px;} </style> <form action="pass2.php" method="post"><br><br><br>
<xx>Váš Login: <?php echo "" .$cosi['login']; ?><br></xx> <xx>Váša e-mailová adresa: <?php echo "" .$cosi['email']; ?><br><br></xx> <xx>Staré heslo:<INPUT TYPE="password" NAME="heslo">(pre overenie)<br></xx> <xx>Nové heslo: <INPUT TYPE="password" NAME="noveheslo"><br></xx> <xx>Nové heslo 2:<INPUT TYPE="password" NAME="noveheslo2">(pre potvrdenie)<br></xx> <xx>Nová e-mailová adresa :<INPUT TYPE="text" NAME="novymail" VALUE="<?php echo "" .$cosi['email']; ?>"><br></xx> <xx><INPUT CLASS="button" TYPE="submit" VALUE="Uložiť zmeny"></xx> <xx><INPUT CLASS="button" TYPE="reset" VALUE="Zrušiť"></xx> </p></form> Potreboval by som daco v tom style ze by overilo login a heslo potom by mu us podla tych inputov zmenil mail a heslo. inak v pass2.php by malo byt aj niake osetrenia nech sa hesla zhoduju Kód: if ($_POST['heslo'] != $_POST['heslo2']){ die("Hesla musia byť rovnake!"); atd
Potrebujem len to niak dat do kopy neviem si rady. thx
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
poviem ti logiku script si buď napíšeš alebo napíšu ostatný ...
pokiaľ zadal stare heslo:
choď do databázy a zisti jeho heslo pokiaľ sa zhoduje so starým pokračuj
pokiaľ sa nové heslo a nové heslo2 zhodujú pokračuj
choď do dataázy a zmeň heslo
pokiaľ si zmenil heslo vypíš Gratulujem!
potom ti už len preba to bezpečnostne ošetriť
----
pokiaľ je zadaný mail:
over ho a choď do dabázy aby si ho zmenil
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
Presne tak tomi, to je tvoja logika "Potom ti uz len treba to bezpecnostne osetrit"
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
j bezpečnosť je druhoradá ...
funkčnosť je prvoradá
tak ale mu nebudem vypisovať že:
pritom sú to hesla môže rovno dávať do MD5 ...
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Tominator, a dáš mi odkaz na nejaké tvoje stránky, keď je bezpečnosť druhoradá? Rád sa pohrám
//drzte sa temy a nespamujte (stenley)
|
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
Logiku som pochopil ale php nie:-D
Jedine co z tych bodov viem spravit je len toto
Kód: if ($_POST['heslo'] != $_POST['heslo2']){ die("Hesla musia byť rovnake!");
|
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
Kód: <?php include "config.php"; include "security.php";
if (isset($_POST['heslo']) && isset($_POST['noveheslo']) && isset($_POST['noveheslo2'])){ if ($_POST['heslo'] == "" || $_POST['noveheslo'] == "" || $_POST['novyemail'] == "" || $_POST['noveheslo2']== ""){ die("Niečo ste vynechaly."); }
$sql = "SELECT heslo FROM users WHERE login=\"".$_GET['login']."\"" ; $mysql_query=@mysql_query($sql); $a=@mysql_fetch_array($mysql_query); echo $a['heslo']; }
if ($_POST['heslo'] != $a['heslo']){ die("Vaše heslo sa nezhoduje s heslom v DB"); } if ($_POST['heslo'] != $_POST['heslo2']){ die("Hesla musia byť rovnake!"); }
$sql = "UPDATE users SET heslo = '".($_POST['noveheslo'])."'"; { die("chyba 2"); } ?>
V com je chyba pls?
|
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 | 66 Bydlisko: Nové Zámky |
nestudoval som moc ten kod...pise ti to nejaku chybu???alebo to nerobi nic resp. co to robi...a nebolo by lepsie kebize v SELECTe miesto loginu predavas id usera??? napr zo session???
// toto nechapem...naco to tam mas??? Kód: echo $a['heslo']; a preco heslo neukladas zahashovane???
|
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
no je to zlozite odhlasi ma alebo skor presunie na index.
ide usera mozno ale zo session nie to mo zas nejde...
to echo tam bolo len tak ci viem ze sa mi zobrazilo heslo to si nevsima treba to tam zmazat.
A inak teraz mi cvaklo ze ho tam ukladam v md5 (zabudol som na to).
Idem este skusit nieco ine.
|
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
Takze dal som do jedneho suboru (pass.php)
Nemoze to byt v dvoch suboroch, no moze ale musel by som vediet ako presmerovat input submit na pass2 login=".$_GET['login']."&code=".$_GET['code'] a ja to neviem.
Kód: <? include "config.php"; $mysql_query=@mysql_query("SELECT * FROM users WHERE login=\"".$_GET['login']."\" LIMIT 1"); $a=@mysql_fetch_array($mysql_query); ?>
<style type="text/css"> xx {padding-left: 50px;} </style> <form action="#" method="post"><br><br><br> <input type="hidden" name="odoslane" value=""> <xx>Váš Login: <?php echo "" .$a['login']; ?><br></xx> <xx>Váša e-mailová adresa: <?php echo "" .$a['email']; ?><br><br></xx> <xx>Staré heslo: <INPUT TYPE="password" NAME="heslo"><br></xx> <xx>Nové heslo: <INPUT TYPE="password" NAME="noveheslo"><br></xx> <xx>Nové heslo 2: <INPUT TYPE="password" NAME="noveheslo2"><br></xx> <xx>Nová e-mailová adresa :<INPUT TYPE="text" NAME="novymail" VALUE="<?php echo "" .$a['email']; ?>"><br></xx> <xx><INPUT CLASS="button" TYPE="submit" VALUE="Uložiť zmeny"></xx> <xx><INPUT CLASS="button" TYPE="reset" VALUE="Zrušiť"></xx> </form> <? //pripojenie atd. include "config.php"; include "security.php";
$mysql_query=@mysql_query("SELECT * FROM users WHERE login=\"".$_GET['login']."\" LIMIT 1"); $a=@mysql_fetch_array($mysql_query); $login=$_GET['login'];
// overenie all if(isset($_POST['odoslane'])){ $heslo=$_POST['heslo']; $noveheslo=$_POST['noveheslo']; $noveheslo2=$_POST['noveheslo2']; $novymail=$_POST['novymail']; } if($heslo=="" || noveheslo=="" || noveheslo2=="" || novymail==""){ echo"musite vyplnit vsetky udaje"; }else // noveheslo a noveheslo2 if ($_POST['noveheslo'] != $_POST['noveheslo2']){ die("Hesla musia byť rovnake! form"); } // heslo a noveheslo if ($_POST['heslo'] != $a['heslo']){ die("Hesla musia byť rovnake! db"); } // update $sql="UPDATE users SET heslo='$noveheslo', email='$novymail' WHERE login='$login' LIMIT 1";{ die("Heasdrovnake! db"); }
?>
vypisemi chybu Heasdrovnake! db preco?
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
A prečo nie, keď to v tom kóde priamo voláš? Nemáš tam predtým žiadnu podmienku.
Kód: { die("Heasdrovnake! db"); }
Inak v čom píšeš ten kód, v notepade? Ako je možné, že sa pokúšaš o niečo takéto: Kód: if($heslo=="" || noveheslo=="" || noveheslo2=="" || novymail==""){ echo"musite vyplnit vsetky udaje"; }else
Veď noveheslo, noveheslo2 a novymail sú v tomto prípade konštanty a nie premenné! Daj pred ne znak $!
A ešte mi vysvetli, čo má znamenať to else, bez vlnitých zátvoriek definujúcich, aký blok príkazov sa má potom vykonať?
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
Citácia: Inak v čom píšeš ten kód, v notepade? Ano Citácia: A ešte mi vysvetli, čo má znamenať to else, bez vlnitých zátvoriek definujúcich, aký blok príkazov sa má potom vykonať?
Toto:
Kód: if($heslo=="" || $noveheslo=="" || $noveheslo2=="" || $novymail==""){ echo"musite vyplnit vsetky udaje"; }else ked ich nevplnim tak mi vypise echo ale ked ich vyplnim tak mi to nevypise funguje to aj tomu trochu nechapem... Jednine co som zmenil je toto Kód: if($heslo=="" || $noveheslo=="" || $noveheslo2=="" || $novymail==""){ Vysvetlymi prosim ta ako mam dat toto Kód: { die("Heasdrovnake! db"); } a este to else ked som ho dal takto Kód: if($heslo=="" || $noveheslo=="" || $noveheslo2=="" || $novymail==""){ }else{ echo"musite vyplnit vsetky udaje"; }
potom my to robilo naopak.
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Najprv mi povedz, čo má toto znamenať (čo to má robiť)?
Kód: { die("Heasdrovnake! db"); }
Zvyšok má byť takto (ale uvedom si, že do premennej $sql iba ukladáš reťazec ale nespúšťaš ten SQL príkaz, nemáš tam volanie mysql_query): Kód: if($heslo=="" || $noveheslo=="" || $noveheslo2=="" || $novymail==""){ echo "musite vyplnit vsetky udaje"; } else { // noveheslo a noveheslo2 if ($_POST['noveheslo'] != $_POST['noveheslo2']){ die("Hesla musia byť rovnake! form"); } // heslo a noveheslo if ($_POST['heslo'] != $a['heslo']){ die("Hesla musia byť rovnake! db"); } // update $sql="UPDATE users SET heslo='$noveheslo', email='$novymail' WHERE login='$login' LIMIT 1"; }
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
cize takto?
Kód: $sql = "SELECT * FROM users WHERE login=\"".$_GET['login']."\"" ; $result = mysql_query($sql) ; $a = mysql_fetch_array($result);
Inak chcel som aby Heasdrovnake! db vypisalo ked sa heslo a mail uspesne zmenia. Ale zatial sa ani raz nic nezmenilo ale vypisalo to us asi 50x
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Ehm, koľko máš rokov?
Takto:
Kód: if($heslo=="" || $noveheslo=="" || $noveheslo2=="" || $novymail==""){ echo "musite vyplnit vsetky udaje"; } else { // noveheslo a noveheslo2 if ($_POST['noveheslo'] != $_POST['noveheslo2']){ die("Hesla musia byť rovnake! form"); } // heslo a noveheslo if ($_POST['heslo'] != $a['heslo']){ die("Hesla musia byť rovnake! db"); } // update $sql="UPDATE users SET heslo='$noveheslo', email='$novymail' WHERE login='$login' LIMIT 1"; $result = mysql_query($sql); if ($result) { echo "Heasdrovnake!"; // uspesne sa to nastavilo } else { echo "Nastala chyba v databazi!"; // neuspech } }
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | 12 |
zle si ma pochopil aj si dam na zaciatok stranky
include "config.php";
include "security.php";
$sql = "SELECT * FROM users WHERE login=\"".$_GET['login']."\"" ;
$result = mysql_query($sql) ;
$a = mysql_fetch_array($result);
a potom z toho vyvolavam furt.
Ale to nechaj tak akoze fakt diky ide mi to dakujem.
|
|
Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
|