Java, помогите с security.policy

173
09 августа 2018, 01:00

Мне нужно сделать, чтобы программа могла занимать только один порт, это я сделал с помощью флагов: -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, а Вот как то ограничить, без понятия.

Спасибо!

Answer 1

Стандартный менеджер безопасности действует по принципу "что явно не разрешено, то запрещено", поэтому в политике безопасности вы можете указывать только директиву grant. На сколько я понимаю, переписать код сервера вы не можете, поэтому и менеджер безопасности вам не подменить. Остаётся только смотреть чего серверу не хватает при запуске и добавлять в политику. Или искать где-то список необходимых прав.

READ ALSO
Поэлементное переключение recyclerView

Поэлементное переключение recyclerView

Синий - recyclerViewОранжевый - элементы recyclerView

143
Поддержка браузеров (движки) javascript

Поддержка браузеров (движки) javascript

На занятиях по JS поручили следующее задание:

162
Как создать страницу 404?

Как создать страницу 404?

Всем приветВ laravel создал Middleware и повесил его на несколько url и при переходе обычного пользователя на эти url то его соответственно редиректит...

189