Перейти к содержимому


Ограничение доступа по IP-адресу


Сообщений в теме: 7

#1 Виктор

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 15 Апрель 2014 - 20:26

Добрый день!
Возможно кто уже решал подобную задачу и сможет помочь:

Как пользователю ограничить просмотр таблиц и редактирование записей в зависимости от его IP-адреса?
Например:
Если Пользоваетль#1 заходит в КБ с IP 1.1.1.1, то он имеет доступ к просмотру таблиц "Контрагенты" и "Отчеты"
Если Пользоваетль#1 заходит в КБ с IP отличного от 1.1.1.1, то он имеет доступ только к просмотру таблиц "Отчеты".

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Апрель 2014 - 09:12

Такого функционала не предусмотрено на данный момент. Либо вы блокируете всю КБ по IP, либо закрываете доступ к отдельным таблицам/отчетам, но только через права доступа на основе групп пользователей.

#3 Виктор

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 16 Апрель 2014 - 12:03

Просмотр сообщенияCbCoder (16 Апрель 2014 - 09:12) писал:

Такого функционала не предусмотрено на данный момент. Либо вы блокируете всю КБ по IP, либо закрываете доступ к отдельным таблицам/отчетам, но только через права доступа на основе групп пользователей.

В перспективе такой функционал будет?
Его отсутствие прямая угроза безопасности.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Апрель 2014 - 13:59

В чем там угроза безопасности? Приведите конкретный пример. Если есть какая-то дыра - это скорее повод нам ее заделать, чем добавлять новые костыли.


Добавлять подобный функционал мы вряд ли будем, т.к. иначе придется дублировать всю систему доступа, что понесет большие накладные расходы и утяжелит программу.

#5 Виктор

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 22 Апрель 2014 - 15:17

Суть заключается в следующем (пример):

Есть группа сотрудников с правами на просмотр и редактирование таблицы "Заказы" и просмотр отчета "Прибыль".
Как сделать так, чтоб при входе с доверенного пула IP адресов (рабочее место - офис) они могли просматривать и редактировать записи в таблице "Заказы", а также просматривать отчет "Прибыль", а во всех остальных случаях (удаленны доступ с домашнего компьютера и пр. ситуаций) только просмотр отчета "Прибыль"?

Это реальный пример из нашей ситуации, когда злоумышленники проникли в КБ (таблица "Заказы") через домашний компьютер сотрудника!

В данный момент функционал Кб позволяет полностью блокировать доступ по IP, но это не выход, т.к. определенной группе сотрудников (например руководители) нужен удаленный доступ к выборочным таблицам или отчетам КБ.

Что делать? Как защититься?

#6 Гость_Roman_*

  • Гости

Отправлено 22 Апрель 2014 - 15:49

Можно подключить внешний файл functions_custom.php в папке include и там разграничивать доступ примерно таким образом
$script_php = substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'],"/")+1);
if ($_SERVER['REMOTE_ADDR'] != "192.168.1.1" && $script_php != "report.php") // Если IP не доверенный и выполняется доступ не к отчёту, сообщение с ошибкой
    die("Access error!");


#7 Виктор

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 22 Апрель 2014 - 16:44

Просмотр сообщенияRoman (22 Апрель 2014 - 15:49) писал:

Можно подключить внешний файл functions_custom.php в папке include и там разграничивать доступ примерно таким образом
$script_php = substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'],"/")+1);
if ($_SERVER['REMOTE_ADDR'] != "192.168.1.1" && $script_php != "report.php") // Если IP не доверенный и выполняется доступ не к отчёту, сообщение с ошибкой
	die("Access error!");

Спасибо за совет, но у меня Saas-версия и подобный функционал не реализовать.

А что если сделать две группы, например "Manager-full" и "Manager-light" с различными правами, а при авторизации сотрудника назначать ему ту или иную группу в зависимости от IP? Это возможно?

#8 Гость_Roman_*

  • Гости

Отправлено 22 Апрель 2014 - 16:51

Вполне реализуемо и на SaaS. Настройки - Дополнительно - Менеджер файлов - Внешние файлы. Добавляете в список файл include/functions_custom.php, и после сохранения появляется возможность редактировать этот файл.

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





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных