Внутри API java.io вы можете убедиться, что проверки выполняются. Если вы хотите контролировать доступ (избегая сбоя до того, как он произойдет), вы должны выполнить соответствующие проверки ДО внутренних проверок, выполняемых вызовами API.
Код Java часто запускается на компьютерах, которыми вы управляете, но он также часто запускается на компьютерах, которые вы не контролируете. Подумайте о Java-апплетах. Они должны запрашивать разрешение на доступ к файловой системе, потому что автору программы нельзя разрешать неконтролируемый доступ ко всем остальным файловым системам.
Если вам нужно помешать одной группе людей сделать что-то злонамеренное, тогда вам нужно остановить всех от возможных злонамеренных действий, чтобы безопасность была реальной. В противном случае злоумышленники просто скажут, что они часть доверенной неконтролируемой группы.
Исполняемый файл командной строки Java запускается по умолчанию с разрешениями, позволяющими вам прикоснуться к вашей собственной файловой системе. Предполагается, что если вы запустили программу локально, вы все равно могли испортить те части файловой системы, к которым у вас был доступ. Апплеты запускаются со всеми удаленными разрешениями по умолчанию. Таким образом, человек, просматривающий веб-страницу, на которой находится апплет, должен вручную предоставить разрешения удаленной программе (апплету) на доступ к их файловой системе.
То, что вы видите, является доказательством того, что не существует специального черного хода, который обходит безопасность для некоторых пользователей (или в некоторых условиях).
person
Edwin Buck
schedule
18.10.2010