Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Taxip
13 / 13 / 11
Регистрация: 28.09.2013
Сообщений: 364
1

Скрытие URL

26.06.2014, 00:33. Просмотров 567. Ответов 12
Метки нет (Все метки)

Здравствуйте. Написал регистрацию, теперь стоит такая задача. Авторизованный пользователь, может быть либо админом, либо обычным пользователем, отсюда вытекает задача, как от обычного пользователя можно скрывать ссылки и другие объекты?
Писать что-то вроде
PHP
1
2
3
if ($user_status==admin) {
            echo '<a hreg="mu-syte.ru">Скрытая ссылка</a>';
        }
Либо есть способ попроще?
П.С. Решить данную задачу необходимо исключительно средствами PHP(HTML, CSS), без JS.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 00:33
Ответы с готовыми решениями:

скрытие URL
у меня проблема, делаю интернет магазин при выборе товара ссылка выглядит так -...

Скрытие от виджета
Здравствуйте,заранее прошу прощения если не ту рубрику попал:) Имею сайт...

Скрытие расширение php
Здравствуйте! Подскажите как скрыть расширение php для всех файлов, кроме...

Скрытие водяных знаков
Необходимо удалить водяной знак более чем с 2500 изображений. Исходного...

Скрытие элемента для гостей
Здравствуйте, я не знал где точно написать в форуме PHP или JavaScript, по...

12
BarbosLV
363 / 401 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
26.06.2014, 00:45 2
Ну так для админов пишут отдельную часть сайта, куда обычным пользователям ход закрыт. Если нужно задать в публичной части сайта, скрытые ссылки, то никакого другого способа кроме как по условию я не знаю.
0
Taxip
13 / 13 / 11
Регистрация: 28.09.2013
Сообщений: 364
26.06.2014, 01:08  [ТС] 3
BarbosLV, Ну у меня и так админка находится в другом каталоге. Просто для удобства хотел добавить пару ссылок.
0
ads
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
26.06.2014, 14:29 4
Цитата Сообщение от Taxip Посмотреть сообщение
Либо есть способ попроще?
вполне нормальный способ если вы хотите админские ссылки видеть на общих страницах
1
Camaro396
38 / 38 / 13
Регистрация: 22.07.2013
Сообщений: 197
26.06.2014, 17:56 5
Средствами JS такое делать вообще вредно.
1
FMRed
8 / 8 / 3
Регистрация: 26.06.2014
Сообщений: 47
26.06.2014, 20:20 6
Если таких ссылок много, то предлагаю написать небольшой класс для этого со статик методами
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class RightCheck
{
    public static function isAdmin()
    {
        //допустим данные лежат в сессии
        $q = "SELECT `role` FROM `users` WHERE `user_id`=".$_SESSION['user_id'];
        ...
        if(role=="admin")
        {
            return true;
        }else{
            return false;
        }
    }
}
Тогда в последствии будет удобно вызывать проверку, да и в 1 строку влезет
PHP
1
RightCheck::isAdmin()?"<a hre='/link'>link</a>":"";
0
ads
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
26.06.2014, 20:59 7
Цитата Сообщение от FMRed Посмотреть сообщение
предлагаю написать небольшой класс для этого со статик методами
Код PHP
крутовато как-то на каждую ссылку запрос к базе делать
0
FMRed
8 / 8 / 3
Регистрация: 26.06.2014
Сообщений: 47
26.06.2014, 21:28 8
ads,
ну так и role можно в сессию запихнуть)
а ещё лучше просто добавить права пользователям и делать проверку прав, а не группы
0
ads
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
26.06.2014, 21:32 9
вы не поняли. в класс можно все что угодно запихнуть. Вот только в вашем примере проверка авторизации тянет за собой обращение к базе данных. Что совсем не хорошо.. для каждой ссылки - запрос к базе
0
FMRed
8 / 8 / 3
Регистрация: 26.06.2014
Сообщений: 47
26.06.2014, 21:39 10
ads,
да я понял, я имел ввиду заранее запихнуть в сессию права, а в классе уже проверять без обращений к БД
PHP
1
if($_SESSION['rights']=="admin"){return true;}else{return false;}
0
Taxip
13 / 13 / 11
Регистрация: 28.09.2013
Сообщений: 364
26.06.2014, 21:56  [ТС] 11
Цитата Сообщение от FMRed Посмотреть сообщение
а ещё лучше просто добавить права пользователям и делать проверку прав, а не группы
А в чем будет заключаться простота? Я просто не вижу разница, что я буду проверять права пользователя, что буду проверять его группу?
0
FMRed
8 / 8 / 3
Регистрация: 26.06.2014
Сообщений: 47
26.06.2014, 22:17 12
Taxip,
Я твоей ситуации не знаю, но может так сложиться, что права начнут пересекаться
Поэтому на будущее лучше сделать так
есть группы, у группы есть права
есть пользователи, у них права, которые они наследуют от своей группы

а дальше магия побитового сравнения
http://www.php.net/manual/ru/language.operators.bitwise.php

суть в том, что при этом пользователи могут наследовать права от разных групп
например есть группы
Администраторы
Модераторы
Копирайтеры
Менеджеры
Пользователи

и вот у менеджеров должны быть права как у копирайтеров+свои собственные
и тогда унаследовав права от этих 2х групп они получат доступ к нужным данным всего с одной проверкой прав, а не с двумя, иначе пришлось бы писать 2 проверки прав в классе, а так можно побитово сравнить

Если такого не предполагается в будущем, то естественно заморачиваться не стоит)
0
Taxip
13 / 13 / 11
Регистрация: 28.09.2013
Сообщений: 364
26.06.2014, 22:41  [ТС] 13
FMRed, По задумке сайту такое не требуется да и в ближайшем будущем думаю нету нужда. Но Ваше решение проблемы скорее не более просто, более вероятно, что оно гибкое. Просто мне необходимо скрыть ссылку на админку, от обычных пользователей. А в дальнейшем прятать часть текста и поста, тут уже есть необходимость написание функции. Пока пишу в процедурном варианте. Возможно, когда начну понимать ООП, тогда и перепишу в классы.
0
26.06.2014, 22:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2014, 22:41

PHP редирект (скрытие внешней ссылки от поисковиков)
Здравствуйте. Подскажите, пожалуйста, как правильно можно реализовать...

Автоматическое скрытие ссылок в DLE параметром -hide-
Автоматическое скрытие ссылок в DLE параметром -hide- есть DataLife Engine...

GET URL
Хочу сделать читабельные ссылки ... Из site.ru/index.php?avto.php=id1 сделал...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru