Эта часть входа в PHP безопасна? - PullRequest
0 голосов
/ 15 сентября 2018

Я просто пытаюсь что-то узнать о php, и у меня есть два вопроса. Я хочу сделать систему на основе пользовательских ролей, для начала я просто добавил роль для каждого пользователя (admin, user и т. Д.), Которая сохраняется непосредственно в таблице users в mysql? Я имею в виду, что в моей пользовательской таблице есть столбцы id, ник, пароль, роль. Это нормально или даже безопасно?

Второй вопрос: безопасно ли проверять разрешения пользователей, например

// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
    header("location: login.php");
    exit;
}
// Check if the user has admin role, if not then load up page which tells u - You dont have perm to use this site
elseif($_SESSION["role"] !== "admin"){
    include "noperm.php";
    exit;
}

Могу ли я сделать это, или все еще существует вероятность того, что пользователь роли или незарегистрированный пользователь может получить доступ к этой странице (например, на сайте управления пользователями)?

1 Ответ

0 голосов
/ 15 сентября 2018

Да и нет, например, когда логин пользователя на сайте php, имя пользователя и пароль или любые учетные данные, которые он использует, будут отправлены открытыми или зашифрованы на сайтах с md5 sha-2 и другими алгоритмами, в кратком ответеесли алгоритм (шифрование) слаб, дешифрование будет легко для злоумышленника, и пользователь будет взломан, и намного больше риск, когда соединение с протоколом HTTP, потому что HTTP полностью открыт по сравнению с HTTPS, потому что HTTPSиспользуйте сертификат с клиентом и веб-сайтом, и вся информация отправляется с двойным шифрованием, encryption1, алгоритм php, encryption2, сертификат SSL, но включает в себя сертификат SSL, может быть подделан, если организация выпускает сертификат, аналогичный тому жедомен атакованного сайта.

ПРИМЕЧАНИЕ. Реальность такова, что это зависит от того, насколько человек защищает веб-сайт и насколько надежно делает клиент паролем ...

СОЗДАЙТЕ ВАССОБСТВЕННЫЙ АЛГОРИТМ:

<?php
    // ENCRYPTION //
    $passwordOfTheUSER = "JonnyDeep74";
    $encryptedPassword = str_replace('o', 'UXK', $passwordOfTheUSER);
    $encryptedPassword = str_replace('a', 'PEA', $encryptedPassword);
    $encryptedPassword = str_replace('e', 'MIC', $encryptedPassword);
    echo "encrypted: $encryptedPassword, ";

    // DECRYPTION //
    $decryptedPassword = str_replace('UXK', 'o', $encryptedPassword);
    $decryptedPassword = str_replace('PEA', 'a', $decryptedPassword);
    $decryptedPassword = str_replace('MIC', 'e', $decryptedPassword);
    echo "decrypted: $decryptedPassword.";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...