Мне нужно решение, как сделать веб-приложение, размещенное на веб-сервере, доступным для определенных компьютерных машин с использованием языка PHP или Java. Мне нужно ограничить веб-приложение на определенные компьютерные машины. Поэтому, пожалуйста, скажите мне, как это можно достичь?Как сделать веб-приложение доступным только с определенных компьютерных машин?
ответ
Вы делаете белый список IP-адресов, разрешенных для подключения к веб-серверу.
Тогда вы можете получить IP-адрес клиента в PHP:
$userIpAddress = $_SERVER['REMOTE_ADDR'];
или в Java:
String userIpAddress = request.getHeader("Remote_Addr");
Обратите внимание, что получение реального IP-адрес пользователя может быть сложно. Смотрите на эти вопросы:
Самый простой способ, хотя бы ограничить доступ клиентов непосредственно в конфигурации веб-сервера.
В принципе у вас есть несколько вариантов. Вы можете защитить ваше приложение, используя аутентификацию apache, которая требует, чтобы пользователь вставлял имя пользователя и пароль. Вы можете ограничить доступ к приложению с использованием IP-адреса или реализовать аутентификацию на уровне приложения.
Я не предлагаю использовать IP-аутентификацию tho, потому что это просто небезопасно.
Apache аутентификации: apache documentation
PHP Authentication: PHP Documentation
Если вы используете apache web server
, то вы можете ограничить определенные IP-адреса в самой конфигурации веб-сервера, как это было предложено here.
Это не только в Apache, но и в любом веб-сервере, вы можете сделать то же самое, но стиль конфигурации отличается.
Как вы хотите обеспечить доступ? На основе IP-адреса? Основано на имени хоста? На основе MAC-адреса? Пожалуйста, будьте более конкретными. – Oldskool
Возможный дубликат [htaccess - используя пароль или белый список ip] (http://stackoverflow.com/questions/7667004/htaccess-using-password-or-ip-whitelist) –
@old school, на основе MAC-адреса мне нужно ограничьте его. Как получить MAC-адрес клиентской машины с сервера. –