⊗ppPmAuPCh 429 of 447 menu

Промена на лозинка во PHP

Промената на лозинката не може едноставно да се направи во личниот профил. Работата е во тоа што корисникот може да го остави својот компјутер без надзор (на пример, во канцеларија), додека е автентициран на нашата веб-страница. Во овој случај, ако се дозволи едноставно промена на лозинката, тогаш злонамерник-недоброжелател ќе може да ја смени лозинката со друга, што, се разбира, е многу лошо.

Неопходно е да се направи така што промената на лозинката со нова да бара внесување на старата лозинка.

Ајде да ја имплементираме страницата changePassword.php, при што корисникот ќе види форма со два инпути - во првиот ќе треба да ја внесе својата стара лозинка, а во вториот - новата:

<form action="" method="POST"> <input name="old_password"> <input name="new_password"> <input type="submit" name="submit"> </form>

При кликнување на копчето за испраќање треба да го направиме следново:

<?php $id = $_SESSION['id']; // id на корисникот од сесијата $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // солена лозинка од базата на податоци $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Проверуваме кореспонденција на хашот од базата со внесената стара лозинка if (password_verify($oldPassword, $hash)) { $newPasswordHash = password_hash($newPassword, PASSWORD_DEFAULT); $query = "UPDATE users SET password='$newPasswordHash' WHERE id='$id'"; mysqli_query($link, $query); } else { // старата лозинка е погрешно внесена, ќе испечатиме порака } ?>

Имплементирајте ја опишаната промена на лозинка.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј