За последние 24 часа нас посетил 21771 программист и 1066 роботов. Сейчас ищут 719 программистов ...

Помогите убрать авторизацию по бд

Тема в разделе "Сделайте за меня", создана пользователем PlayaPhonk14, 11 ноя 2022.

  1. PlayaPhonk14

    PlayaPhonk14 Новичок

    С нами с:
    10 ноя 2022
    Сообщения:
    6
    Симпатии:
    0
    1. Помогите, мне нужно убрать авторизацию через аккаунт в базе данных сервера, потому что этот аккаунт просто не находят) Можно ли сделать общий пароль для всех?
      Проще говоря сделать чтобы заходить могли все, по одному и тому же логину с паролем, которые ни от чего не зависят



      Код (Text):
      1. <?php
      2. session_start();
      3. ?>
      4. <?php require_once("includes/connection.php"); ?>
      5. <?php
      6.     if(isset($_SESSION["session_username"])){
      7.     // вывод "Session is set"; // в целях проверки
      8.     header("Location: login_check.php");
      9.     }
      10.     if(isset($_POST["login"])){
      11.     if(!empty($_POST['username']) && !empty($_POST['password'])) {
      12.     $username=htmlspecialchars($_POST['username']);
      13.     $password=htmlspecialchars($_POST['password']);
      14.     $hpassword = md5($password);
      15.     $query =mysqli_query($con,"SELECT * FROM accounts WHERE NickName='".$username."' AND Password='".$hpassword."'");
      16.     $numrows=mysqli_num_rows($query);
      17.     if($numrows!=0)
      18.     {
      19.     while($row=mysqli_fetch_assoc($query))
      20.     {
      21.         $dbusername=$row['NickName'];
      22.         $dbpassword=$row['Password'];
      23.         $admin=$row['Admin'];
      24.     }
      25.     if($username == $dbusername && $hpassword == $dbpassword)
      26.     {
      27.         if($admin > 0)
      28.         {
      29.             $_SESSION['session_username']=$username;  
      30.             header("location: login_check.php");
      31.         } else {
      32.             $message =  "Вы не являетесь администратором! Доступ закрыт!";
      33.         }
      34.     }
      35.     } else {
      36.     $message =  "Неправильное имя пользователя или пароль!";
      37. }
      38.     } else {
      39.     $message = "Все поля обязательны к заполнению!";
      40.     }
      41.     }
      42.     ?>
      43. <html>
      44. <head>
      45. <meta charset="utf-8">
      46. <title>UnlimitedLog</title>
      47. <link href="assets/styles.css" rel="stylesheet" type="text/css">
      48. <script type="text/javascript" src="js/jquery.js"></script>
      49. <script type="text/javascript" src="js/jquery.form.js"></script>
      50. </head>
      51. <body><div class="menu"><table width="100%"><tr><td valign="top" align="left"><script>
      52.     </script>
      53.     <a></a><ul><a></a>
      54.     <a href="/"><li>Главная</li></a>
      55.     <a href="https://rp-virginia.ru"><li>Сайт</li></a>
      56.     <a href="https://forum.rp-virginia.ru"><li>Форум</li></a></ul></td>
      57.     <td valign="top" align="right"></td>
      58.     <td valign="top" align="right">
      59.     <!-- <a href="/register.php" rel="no"><li>Регистрация</li></a> -->
      60.     <a href="/login.php"><li>Войти</li></a></td></tr></tbody></table></div>
      61.  
      62.     <div class="right"><div id="content">
      63.     <table width="100%" border="0">
      64.   <tbody>
      65.     <tr>
      66.       <td class="top"><h1>Войти</h1></td>
      67.     </tr>
      68.     <tr>
      69.       <td class="middel"><div class="box">
      70.         <div id="login" class="boxtitle">Войти</div>
      71.         <form name="loginform" id="loginform" action="" method="POST">
      72.         <table width='100%'>
      73.         <tr><td>Ник</td><td><input type='text' name="username"></td></tr>
      74.         <tr><td>Пароль</td><td><input type='password' name="password"></td></tr>
      75.         </table>
      76.         <input type=submit name='login' value='Войти'><p><h2><?echo $message; ?></h2>
      77.         </form></div></td>
      78.     </tr>
      79.     <html>
      80. <?
      81. include("header/footer.php");
      82. ?>
      83. </html>
      84. </table>
      85. </div></div></body>
      86. </html>
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    можно - но не нужно, и даже вредно
     
  3. PlayaPhonk14

    PlayaPhonk14 Новичок

    С нами с:
    10 ноя 2022
    Сообщения:
    6
    Симпатии:
    0
    Ну по другому не получается) Просто указывает что логин и пароль не верный
     
  4. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Тебе сюда нужно попасть? ( location: login_check.php )
     
  5. PlayaPhonk14

    PlayaPhonk14 Новичок

    С нами с:
    10 ноя 2022
    Сообщения:
    6
    Симпатии:
    0
    Да
     
  6. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Вот в этом куске убрать проверку
    Код (Text):
    1. <?php
    2. session_start();
    3. ?>
    4. <?php require_once("includes/connection.php"); ?>
    5. <?php
    6.     if(isset($_SESSION["session_username"])){
    7.     // вывод "Session is set"; // в целях проверки
    8.     header("Location: login_check.php");
    9.     }
    оставить
    Код (Text):
    1. <?php
    2. session_start();
    3. ?>
    4. <?php require_once("includes/connection.php"); ?>
    5. <?php
    6.     // вывод "Session is set"; // в целях проверки
    7.     header("Location: login_check.php");
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    Это выстрел в ногу. Впрочем, код и без этого был фиговый, так что не жалко.
     
  8. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Когда такое советую - чувствую себя Афоней.
     
  9. PlayaPhonk14

    PlayaPhonk14 Новичок

    С нами с:
    10 ноя 2022
    Сообщения:
    6
    Симпатии:
    0
    Всплыла еще одна проблема, авторизироватся оно авторизировалось. Но содержимое не показывает которое должно быть после авторизации
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
  11. PlayaPhonk14

    PlayaPhonk14 Новичок

    С нами с:
    10 ноя 2022
    Сообщения:
    6
    Симпатии:
    0
    и как тогда подредактировать этот код чтобы оно авторизировалось и имело право, а не просто кидало на страницу авторизации?
    Пароль и логин из бд сервера оно так же получить не может поэтому нужен логин и пароль 1 для всех
     
  12. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Код (Text):
    1.  
    2. <?php require_once("includes/connection.php"); ?>
    3. <?php  
    4. if(isset($_SESSION["session_username"])){
    5.     // вывод "Session is set"; // в целях проверки
    6.     header("Location: login_check.php");
    7.    }
    8. if(isset($_POST["login"])){
    9.     if(!empty($_POST['username']) && !empty($_POST['password'])) {
    10.         $username=htmlspecialchars($_POST['username']);
    11.         $password=htmlspecialchars($_POST['password']);
    12.         $_SESSION['session_username']=$username;//вот это надо
    13.     }
    14. }
    15. ?>
    16. <html>
    Имя пользователя наверное проверяется в сессии. Поэтому его определяем.
    Скорей всего после проверки пароля в переменную session_username попадало
    значение из формы.
     
    #12 antoniii, 13 ноя 2022
    Последнее редактирование: 13 ноя 2022
  13. PlayaPhonk14

    PlayaPhonk14 Новичок

    С нами с:
    10 ноя 2022
    Сообщения:
    6
    Симпатии:
    0
    Пароль всеравно не подходит(
     
  14. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Попробуй так. Я переставил порядок проверок.Если оставить только этот код:
    Код (Text):
    1.  
    2. <?php require_once("includes/connection.php"); ?>
    3. <?php
    4. if(isset($_POST["login"])){
    5.     if(!empty($_POST['username']) && !empty($_POST['password'])) {
    6.         $username=htmlspecialchars($_POST['username']);
    7.         $password=htmlspecialchars($_POST['password']);
    8.         $_SESSION['session_username']=$username;//вот это надо
    9.     }
    10. }
    11. if(isset($_SESSION["session_username"])){
    12.     // вывод "Session is set"; // в целях проверки
    13.     header("Location: login_check.php");
    14.    }
    15. ?>
    16. <html>
    То пароль проверяется только на существование. Дальше в сессию добавляется имя пользователя session_username. Сервер перенаправляет на страницу login_check.php. Там есть в коде проверки?
     
  15. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям

    Последний раз попробую объяснить в общем виде.

    Авторизация = проверка права на что-то, например на просмотр страницы. if (права нет) exit;

    Аутентификация = проверка логина и пароля с последующим сохранением где-то (в сессии) информации о пользователе. $_SESSION['user'] = 'Вася'

    Теперь подумай есть ли у тебя аутентификация и авторизация. И ещё, так как ты уже пытаешься применить какие-то советы, у тебя код отличается от того что ты показывал. И мы хз с чем ты работаешь. Так что гадаем на кофейной гуще.

    P.S. За header("Location:...") ВСЕГДА должен стоять exit. Потому что команда header не останавливает выполнение скрипта.
    --- Добавлено ---
    P.P.S. Перед header() не должно выводиться н и ч е г о. Ни echo, ни "?> ххх <?php", ни сообщения об ошибке. Бывает что некий пробел или перевод строки или невидимый символ BOM стоят раньше header и в итоге он ругается "header alerady sent" но нам об этом никто не сказал.
    --- Добавлено ---
    И в итоге нуб плачет "ничего не работает". Оно работает, просто оно в точности выполняет твои команды, но ты не понимаешь какие команды дал. Потому что скопировал их не вникая.
     
    miketomlin нравится это.
  16. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Ну, раньше выводили лайт-страничку или текстовик с текстом «Перейдите по такому-то адресу» (Ваш клиент – отстой!) :D
    --- Добавлено ---
    Хотя можно и в exit передать этот текст. Только я не помню, будет ли он менять Content-Type на простой текстовый.
     
  17. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    Встречая в ответе заголовок редиректа, браузер не выводит ничего, он сразу отправляет новый запрос по указанному адресу. Так что вся работа после header location выполняется впустую, скрипт надо просто остановить и всё.
     
    don.bidon нравится это.