Мы используем модификаторы доступа, чтобы ограничить доступ пользователя к защищенным / закрытым переменным, но как пользователь может даже попытаться получить к ним доступ? - PullRequest
0 голосов
/ 17 января 2020

Если, например, разработчик создает настольное приложение или даже веб-приложение. Как может пользователь go использовать доступ к переменным / методам, которые должны быть защищены / закрыты, но объявлены как publi c?

Ответы [ 2 ]

1 голос
/ 17 января 2020

Вы можете найти эту топи c: API для получения дополнительной информации. Доступ к вашему коду получит не обычный пользователь, а третьи лица.

0 голосов
/ 14 апреля 2020

Обычно обычный пользователь не может получить доступ к внутренним функциям программы. Только если вы намеренно выставите их, тогда обычный пользователь сможет получить к ним доступ. Использование private / protected и publi c в основном используется для целей инкапсуляции. Это ограничивает количество точек доступа внутренним состоянием классов и библиотек.

Немного выше - доступ к модулю, если реализована модульная система. В нем перечислены методы (publi c), к которым можно получить доступ из других модулей. Кроме того, вы получаете удаленный доступ, например, через удаленные вызовы процедур или веб-API. Те должны быть выставлены также.

Наконец, есть пользовательский интерфейс. Пользовательский интерфейс обычно не имеет доступа к функциям программы publi c. Предоставляется только общий ввод / вывод. Конечно, вы все равно должны убедиться, что вы не подвергаете никакому внутреннему состоянию. Переполнения буфера, атаки на ОЗУ и тому подобное могут заставить пользователя полностью пропустить все меры защиты, предлагаемые вышеуказанными мерами.

Таким образом, publi c / private может быть хорошим способом ограничения доступа к внутреннему состоянию программы. Но эти модификаторы доступа обычно не являются первой линией защиты.

...