WatchAsUser - просмотр страниц пользователей без пароля



Часто по сайту возникают индивидуальные проблемы у пользователей, ошибки и прочие проблемы. В MODx'е не предусмотрено для администраторов просмотр страниц пользователей и я решил написать свой компонент. Собственно, он довольно небольшой и простой в использовании. В один клик вы авторизуетесь под ником любого пользователя вашего сайта и выявляете причину неполадки без изменения или использования пароля. Очень полезная штука.

Преимущества:
— Вход на сайт под ником любого пользователя без использования пароля
— Предусмотрена защита от менеджеров. Компонентом может пользоваться только Администратор с неограниченными правами.
— Переведен на 2 языка. Английский и Русский
— Легкий и быстрый в установке

Инструкция:
1) Установить пакет
2) Перейти на страницу пользователя в Менеджере MODx
3) Перейти во вкладку «WatchAsUser»
4) Нажать на кнопку

Modstore: https://modstore.pro/packages/users/watchasuser

L I T O S H
24 октября 2020, 16:35
modx.pro
1 146
+5
Поблагодарить автора Отправить деньги

Комментарии: 18

Александр Мельник
24 октября 2020, 18:14
0
насколько это безопасно? Не создаст ли это дыру в безопасности modx?
как вы обходите факт хеширования паролей, просто авторизуете по логину, без проверок?
    L I T O S H
    L I T O S H
    24 октября 2020, 18:27
    0
    Все сделано по канонам MODx, через процессоры. В процессорах проверка на доступ к контексту mgr, а также проверка на неограниченные права (что имеют только администраторы). То есть Менеджеры не смогут воспользоваться плагином, им доступ запрещен. Авторизация происходит через добавление новой сессии.
      Александр Мельник
      24 октября 2020, 18:29
      0
      разве процессоры modx позволяют авторизацию без проверки пароля?
        L I T O S H
        L I T O S H
        24 октября 2020, 18:30
        0
        Авторизация происходит через добавление новой сессии
          Александр Мельник
          24 октября 2020, 18:37
          0
          я видимо не понимаю о чем вы говорите, простите.
          Когда я провожу на сайте авторизацию пользователя, то я объект c пользователем помещаю в $modx->user а также авторизую его в определеленном контексте $modx->user->addSessionContext('web');
          мне кажется что факт новой сессии здесь не важен, важно то что, можно авторизоваться без пароля.
          Но раз модераторы магазина проверили и сочли безопасным, то молчу)
            L I T O S H
            L I T O S H
            24 октября 2020, 18:40
            0
            Верно. Но доступ ограничен. Воспользоваться может только Администратор. В чем может быть уязвимость? Выслушаю вас, внимательно =)
              Александр Мельник
              24 октября 2020, 18:44
              0
              откуда мне знать, мало того что я не спец, так еще и не видел ваш код.
              Просто когда-то я имел опыт работы с джумлой и вордпресс и обе эти CMSки сами по себе были достаточно защищены. Но изза обилия сторонних плагинов, их безопасность стремилась к нулю.
              Но опять же, я лишь высказал свое опасение, на мой взгляд сам факт авторизации без знания пароля уже звучит небезопасно, это как снятие денег с карточки без пинкода. Но я не специалист, раз модераторы выставили компонент в магазине, значит они его проверили.
    Александр Мельник
    24 октября 2020, 18:26
    0
    так же всегда интересовал вопрос, компоненты распространяемые через modstore они проходят проверку и анализ на уязвимости? Кто несет (если несет) ответственность, если купленный компонент приведет к взлому сайта или другим печальным последствиям?
      Павел Бигель
      24 октября 2020, 19:53
      0
      За любые уязвимости на своем сайте несешь ответственность только ты.
      Так или иначе — как ты можешь на 100% быть уверенным в том, что какой-то компонент на сайте образовал дыру?
        Александр Мельник
        24 октября 2020, 20:12
        0
        ну вроде как нужно согласиться с вами, ты разработчик, а значит только ты в ответе. Устанавливаешь сторонне ПО будь добр проверь его сам.
        Знаете я неделю-две как увлекся теорией docker. Изучаю как устрены образы и соответственно какой образ лежит у самых истоков. Пользователи либо используют готовые образы или строят свои на основе готовых. Так вот выяснилось что в основе 99 процентов всех образов лежит — alpine linux — легковестный дистрибутив основанный на еще более легковесной версии busybox. Так вот оказывается что в alpine linux есть огромная дыра в безопасности и 99% всех образов в докер хабе — небезопасны. Замечу — официальных образов! И тогда возникает вопрос — поскольку сейчас вся разработка ориентируется на упрощение и подход установки пакетов (в php это composer, в nodejs это npm, в python это pip, в докере это docker hub) то как разработчик может своими силами гарантировать неуязвимость всего этого? Ведь это сотни тысяч чужих файлов. Разве дополнения в modx не тоже самое? как физически можно оценить безопасен код или нет…
          Павел Бигель
          24 октября 2020, 20:14
          0
          гарантировать неуязвимость
          Так не бывает в принципе. Совсем.
    Павел Бигель
    24 октября 2020, 19:46
    0
    Вкладка в админке и 10 строчек кода в виде вызова процессора?
    Это правда стоит 500 рублей?
      Konstantin
      28 октября 2020, 07:40
      0
      Да. Это стоит ровно столько, сколько за это кто-то готов заплатить.
        L I T O S H
        L I T O S H
        24 октября 2020, 21:37
        0
        Не знал, но кто пользуется бесплатным компонентом Login (к примеру), будет в самый раз. Там нет такой функции =)
          Александр Туниеков
          25 октября 2020, 10:55
          0
          Как-то у Василия мы спрашивали можно ли утянуть эту фишку в отдельный компонент. Он ответил что против :-). А если бы согласился то был бы аналог WatchAsUser только бесплатный :-). За 500р на мой взгляд не имеет смысла покупать. Максимум 90р :-)
            Евгений Webinmd
            25 октября 2020, 11:36
            +1
            ну на самом деле покупать офис ради такого функционала малость перебор.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          18