Здравейте,
сигурно е нещо супер "лесно" за оправяне, но забелязах, че когато един потребител се е логнал и директно в URL-то напише адрес до страница changepassword.php с друго ID на друг потребител и тя си се отваря и може да смени паролата на друг потребител.
След като потребител се логне си стартирам сесии и всичко, както трябва. Всеки потребител си има в профила 'Смяна на парола' и като го натисне му се отваря страница: changePassword.php?id=1
Ако обаче той ръчно напише в url-то changePassword.php?id=2,3 ... n ще отвори формата за смяна на парола на друг потребител.
Това имам на страница changePassword.php
в database.php накрая имам session_start()...
Навсякъде сесиите си работят нормално...
сигурно е нещо супер "лесно" за оправяне, но забелязах, че когато един потребител се е логнал и директно в URL-то напише адрес до страница changepassword.php с друго ID на друг потребител и тя си се отваря и може да смени паролата на друг потребител.
След като потребител се логне си стартирам сесии и всичко, както трябва. Всеки потребител си има в профила 'Смяна на парола' и като го натисне му се отваря страница: changePassword.php?id=1
Ако обаче той ръчно напише в url-то changePassword.php?id=2,3 ... n ще отвори формата за смяна на парола на друг потребител.
Това имам на страница changePassword.php
Код:
<?php
include 'database.php';
if(!empty($_SESSION['username']))
{
$pdo = Database::connect();
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$id = $_GET['id'];
{
....
}
}
else
{
// редирект към логин формата
}
Навсякъде сесиите си работят нормално...