Как разрешить приложение видимо только через какой-то IP?
Я разрабатываю приложение для Windows, используя Eclipse, сервер Tomcat и Struts2. Я использую проверку LDAP для входа в систему.
Я хочу разрешить только конкретным людям просматривать мое приложение, т.е. лицо с IP 173.12.12.12 может его просматривать, а 173.12.12.72 - нет.
Как мне это сделать?
Также, если кто-то вводит идентификатор, который отключен, приложение больше не должно работать на его терминале. Как мне это сделать?
2 ответа
Если это диапазон IP, извлеките значение IP из файла свойств и проверьте его. если это одно значение, извлеките значение из базы данных, назначенной пользователям, и проверьте его.
Если вы хотите обрабатывать белый список IP-адресов в вашем веб-приложении (например, в базе данных), вы можете определить IP-адрес пользователя на стороне сервера, прочитав
X-Forwarded-For
Заголовок HTTP из запроса.Если вы хотите обработать ваш белый список IP-адресов на сервере приложений (в данном случае Tomcat), вы должны поместить RemoteAddrValve в ваш
context.xml
( источник).
Оба эти метода работают, но оба не в состоянии обнаружить реальные IP в случае подмены IP. Для злоумышленника наивно подделывать свой собственный IP-адрес, например, с помощью CURL или с помощью дополнения Firefox, такого как anonymoX.
Вы не должны полагаться на IP-адрес для защиты своей системы. Но вы можете использовать их для повышения удобства работы ваших аутентифицированных, доверенных пользователей... как только они войдут, вы можете предположить, что они не являются вредоносными, и начать профилирование своих устройств по IP для обеспечения целевых функций.