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

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

Метод, который я использую для проверки пользователя, заключается в проверке его / ее общедоступного IP-адреса по таблице ранее разрешенных IP-адресов, но, поскольку этот IP-адрес является динамическим, каждый раз, когда он изменяется, мне приходится вручную разрешать его снова. Я ищу другие способы определить, находится ли пользователь в компании, поэтому я могу разрешить ему продолжить вход в систему, но у меня нет идей.

Я думал о том, чтобы проверить, находится ли пользователь в сети компании, но я не знаю, смогу ли я сделать это в PHP. Я также думал о поиске диапазона IP, но мои знания об этом довольно ограничены, поэтому я не верю, что смогу прийти с надежным решением, основанным на этом.

Что еще я могу сделать по этому поводу?

В настоящее время сайт работает под управлением Symfony 4 и размещен в Azure, если это имеет значение.

так что, если пользователь из компании (которому разрешено видеть страницу) пытается войти из дома, ему не разрешено ее видеть?

bob 23.01.2019 13:57

Точно. Предполагается, что этому человеку разрешено входить в систему только из компании, а не где-либо еще.

Renan Lazarotto 23.01.2019 14:00

Где размещен сайт?

Mike 23.01.2019 14:12

Он размещен на Azure.

Renan Lazarotto 23.01.2019 14:22

Вы проверяли docs.microsoft.com/de-de/azure/active-directory/manage-apps/‌​…, когда вам нужно оставаться в Azure? В противном случае я бы предложил разместить приложение в сети компании.

LBA 23.01.2019 15:06

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

Renan Lazarotto 23.01.2019 15:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
6
77
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Здесь мы нашли одно решение: поскольку у нас есть две выделенные интернет-ссылки, мы перенаправили весь исходящий трафик на наш сайт на одну из этих ссылок. Поскольку они выделены и имеют статические IP-адреса, все, что нам нужно было сделать, это добавить правило, разрешающее IP-адрес ссылки.

Проблема решена.

Другие вопросы по теме