Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
-23 / 1 / 0
Регистрация: 04.07.2018
Сообщений: 20

Есть ли CMS управления сайтом, с авторизацией и правами доступа?

04.07.2018, 17:59. Показов 2791. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста, существуют ли движки, с авторизацией и правами доступа к странице (ам)

Я не ищу топовый движок, а простой, который в случаи чего можно будет дополнить чем-то (но моих познаний пока недостаточно)
Как я себе это вижу.
Пользователь авторизуется
открывается главная страница, там кликабельные блоки, которые открывают страницу page=?id1 и где уже информация в строках из бд.
Если же прав нет, то не по прямой ссылке не так, доступа нет.

то есть, разделение пользователей не по ролям, а именно доступ к странице исходя из ИД пользователя а не его РОЛИ.

Я извиняюсь за то что объясняю как детям
но, из-за особенности некоторых ресурсов, куда я с таким вопросом шел, и где очевидно ответа прямого я не получил (а только дешевый троллинг за поисковики и топовые движки)
Приходится четко формулировать свой вопрос, исходя из задачи.

Даже на англоязычном пространстве искал, но там так же, разделение по ролям, а не по ИД пользователя, исходя из которого показывает блок и открывается страница.
Буду рад любой помощи, могу на тел в качестве спасибо сбросить символическую денюжку
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2018, 17:59
Ответы с готовыми решениями:

Нужна простая и функциональная CMS для удобного управления информационным сайтом
У нас сайт компании. Мы предоставляем услуги. На сайте разделы: новости, галерея, статьи, отзывы. В основном люди заходят, читают, смотрят...

Ошибка с правами доступа
Доброго дня всем! Пользуюсь компьютером уже 10 лет, вроде бы уже почти все проблемы какие могут возникнуть возникали, и решать их с...

Проблемы с правами доступа ...
Есть скрипт для создания папок на PHP скрипт лежит в var/www/ $cr_dir = mkdir( $dir_name , 0777 ); Это кусок от него .. в папке...

22
-23 / 1 / 0
Регистрация: 04.07.2018
Сообщений: 20
05.07.2018, 22:42  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от tarasalk Посмотреть сообщение
Вы так говорите как будто это что-то невероятное. Вообще, полезно иногда включать мозги... очень помогает.

А если попробуете еще немного пошевелить извилинами. то уже завтра "сделаете разрешение из БД". Там тоже все очень просто. 1 табличка с полями user_id, page_id. И 1 sql запрос проверяющий, что есть строка с таким то user_id и таким то page_id.


Увы, никому это не нужно. Решение очевидно как 2+2 = 4.

Мне бы не хотелось ни с кем ругаться, но если вы заметили, я написал вам (на форум) за помощью, за подсказками, в надежде на них. Ибо помню 10-12е года.
Но видимо не только времена поменялись.

Во всяком случаи, ваше сообщение для меня темный лес. А учитывая что я до этого писал что в коде я не силен, можно было понять что я ваших наставлений не пойму, а троллить... все могут.
Приятного вечера.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
06.07.2018, 12:21
Лучший ответ Сообщение было отмечено dregore как решение

Решение

dregore, вообщем вот погавнокодил:

Кликните здесь для просмотра всего текста
index.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta charset="utf-8">
<title>Код</title>
</head>
<body>
 
<form action="privateRoom.php" method="POST">
    <input type="text" name="username">     <br>
    <input type="text" name="password">     <br><br>
    <input type="submit" name="send">
</form>
 
</body>
</html>
privateRoom.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?  // открывающий тег php
header('Content-Type: text/html; charset=utf-8');   // устанавливаем кодировку страницы
require_once 'connection.php';  // подключаем файл с подключением к БД
if($_POST[username]=='' || $_POST[password]==''){   // если username или password пришли пустые
    exit(header('Location: index.php'));      // то шлем обратно
}
 
 
 
if($_POST[username]!=='' && $_POST[password]!==''){     // если username и password пришли НЕ пустые
    $username = $_POST[username];   // задаем переменную $username
    $password = $_POST[password];   // задаем переменную $password
    $query = mysqli_query($mysqli, "SELECT * FROM `users` WHERE username = '$username' AND password = '$password'");    // ищем в БД совпадение по $username и по $password
    if(mysqli_num_rows($query) < 1){    // если НЕ нашли
        exit(header('Location: index.php'));    // то шлем обратно
    }
    if(mysqli_num_rows($query) == 1){   // если нашли
        $userRow = mysqli_fetch_array($query, MYSQLI_ASSOC);    // разфетчиваем запрос (делаем из него массив с данными)
 
        // выводим страницу с данными соответствующими полю username в БД
        echo '    
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
            <html>
            <head>
                <title>Код</title>
            </head>
            <body>
            <div>Здарова '.$userRow[username].' из '.$userRow[city].', давно не виделись!</div> <!-- тут выводим логин с городом -->
            <div></div>
            На твоем личном счете сейчас: '.$userRow[money].' <!-- тут выводим количество денег -->
            </body>
            </html>
        ';
    }
    mysqli_close($mysqli);  // закрываем соединение с БД
}
 
 
// закрывающий тег php
?>
connection.php
PHP
1
2
3
4
5
6
7
8
<?
 
$mysqli = new mysqli('localhost','test','11111','test');    // 'хост', 'пользователь', 'пароль', 'имяБД'
if(mysqli_connect_errno()){     // если в подключении БД имеются ошибки
    exit(printf("Connect failed: %s\n", mysqli_connect_error()));   // завершаем работу скрипта и выводим соответствующие ошибки
}
 
?>

И вот что предлагаю:
1: Архив ZIP - WinRAR.zip -- скачайте архив (это то же самое что и код выше, только собрано все в одно)
2: Распакуйте файлы к себе на сервак что бы посмотреть как работает
3: Создайте в бд пользователя "test" и базу данных "test", перейдите в нее, далее "Импорт", выбираете тут файл "users.sql", нажимаете "Ок"
4: После успешного завершения импорта таблицы перейдите на основную страницу index.php попробуйте ввести логин "Вася" Пароль "55555"
5: Снова перейдите на основную страницу index.php попробуйте ввести логин "Петя" Пароль "77777" и посмотрите как это все работает сначала визуально а потом уже вникайте в код
Нуу... примерно так это делается, но тут нету абсолютно никаких проверок в переменных на присутствие тегов нету защиты от CSRF-атак и т.д. То есть не рекомендую вам использовать его у себя на сайте не дописав проверки, защиты и т.д. -- этот скрипт абсолютно не безопасен и там куча уязвимостей.
Сначала вам нужно понять как там примерно все работает, потом уже задаваться вопросом безопасности (мое личное мнение). Я всего лишь привел пример как заполнять страницу из бд...
2
-23 / 1 / 0
Регистрация: 04.07.2018
Сообщений: 20
06.07.2018, 15:57  [ТС]
я ночью порылся, твой код будет полезен для изучения)))

Я чуть попробую с ним что-то сделать, но щас занят страницами, вернее 1 и более страниц которые будут загружаться с бд.

но вот какая проблема, форма отправки обновляет страницу, а мне это не нужно, я искал мануалы по ajax и не одну уже испробовал, и проблема почти везде одна и та же, я уже и утром с этим столкнулся и сейчас когда по новой начал делать.

Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* Article FructCode.com */
$( document ).ready(function() {
    $("#btn").click(
    function(){
      sendAjaxForm('result_form', 'ajax_form', 'action_ajax_form.php');
      return false; 
    }
  );
});
 
function sendAjaxForm(result_form, ajax_form, url) {
    $.ajax({
        url:     url, //url страницы (action_ajax_form.php)
        type:     "POST", //метод отправки
        dataType: "html", //формат данных
        data: $("#"+ajax_form).serialize(),  // Сеарилизуем объект
        success: function(response) { //Данные отправлены успешно
            result = $.parseJSON(response);
            $('#result_form').html('Имя: '+result.CUSTOMCOMMAND);
        },
        error: function(response) { // Данные не отправлены
            $('#result_form').html('Ошибка. Данные не отправлены.');
        }
    });
}


Кликните здесь для просмотра всего текста
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
if (isset($_POST["CUSTOMCOMMAND"]) ) { 
 
  // Формируем массив для JSON ответа
    $result = array(
        'CUSTOMCOMMAND' => $_POST["CUSTOMCOMMAND"],
    ); 
 
    // Переводим массив в JSON
    echo json_encode($result); 
}
 
?>


Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!doctype html>
<html lang='en'>
<head>
  <meta charset='utf-8'>
 
  <title>Article FRUCTCODE.COM. How to send html-form with Ajax.</title>
  <meta name='description' content='Article FRUCTCODE.COM. How to send ajax form.'>
  <meta name='author' content='fructcode.com'>
 
 
 
</head>
 
<body>
 
 
  <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js'></script>
  <script src='ajax.js'></script>
 
</head>
 
<body>
    <form method='post' id='ajax_form' name'CUSTOMCOMMAND' action='/' >
  <textarea rows='30' cols='110'>$OUTPUT</textarea>
  
        <input type='text' name='CUSTOMCOMMAND' placeholder='NAME' />
        <input type='button' id='btn' value='No' /><br>
    
    
    <input type='text' name='COMMAND' />
    <input type='submit' id='btn' value='yes'><br>
    </form>
 
    <br>
 
    <div id='result_form'><div> 
 
 
 
 
</body>
</html>


И вот что происходит с ним.
ТАм 2 кнопки, одна из мануала, type='button' страница не обновляетсяя, но results_form показывает текст, но команду не отправляет.
А вторая, моя, type='submit' страница вновь обновляется и команда уходит, и в консоль отображается результат. То есть ничего не поменялось.

если меняю submit на button, то кнопка уже не срабатывает и команда не уходит.

А если как в мануале, то страница обновляется при смене type=

Может есть решение???

Добавлено через 1 час 52 минуты
type='submit' я уже че только не посмотрел, методом submit, ajax не работает.

ПО край не мере в открытом доступе не смог отыскать ответ, хотя щас проверил и вижу сайты где это работает.

Подскажите, может есть какое решение, как отправлять методом submit но без перезагрузки самой страницы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2018, 15:57
Помогаю со студенческими работами здесь

Непонятки с правами доступа
Может кто уже сталкивался с такой проблемой, тогда подскажите. В базе данных существуют объекты типа вьюшек, и таблиц под определенным...

Виндовс 7, трабла с правами доступа
Переустановил систему. На одном из жестких дисков у меня очень много фильмов, ну как бы естественно что я захотел посмотреть. Открываю, а...

QProcess не дружит с правами доступа
Решил сделать менеджер приложений под линукс, но столкнулся с проблемой: приложения запускаются исключительно из каталога /usr/, что,...

Проблема с правами доступа к файлам
Всем доброго времени суток. Недавно обновился на Lion, после чего возникла необходимость создать в системе вторую учетную запись, под...

Каталог с неизвестными правами доступа
Всем привет. Столкнулся сегодня с довольно интересной ситуацией. В домашнем каталоге пользователя имеется скрытый каталог к которому не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru