Мне нужно сделать, чтобы программа могла занимать только один порт, это я сделал с помощью флагов: -Djava.security.manager -Djava.security.policy=server.policy
и в файле server.policy
написал:
grant {
permission java.net.SocketPermission "127.0.0.1:2565", "connect,accept,resolve";
};
Но проблема в том, что такое решение, блокирует доступ ко всему, и только вот это работает. Вариант просто написать всё, что требует программа просто нереален. Учитывая что эта программа (сервер) имеет возможность добовления плагинов, то есть или в файле просто как-то, где-то найти список всего и туда добавить, или же возможно решение по типу разрешить всё, но ограничить java.net.SocketPermission. Ну разрешить всё можно java.security.AllPermission, а Вот как то ограничить, без понятия.
Спасибо!
Стандартный менеджер безопасности действует по принципу "что явно не разрешено, то запрещено", поэтому в политике безопасности вы можете указывать только директиву grant
. На сколько я понимаю, переписать код сервера вы не можете, поэтому и менеджер безопасности вам не подменить. Остаётся только смотреть чего серверу не хватает при запуске и добавлять в политику. Или искать где-то список необходимых прав.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем приветВ laravel создал Middleware и повесил его на несколько url и при переходе обычного пользователя на эти url то его соответственно редиректит...