![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
VS 2010
Есть вот такой код
Анализ кода делает такое предупреждение Предупреждение 1 CA2122 : Microsoft.Security : 'PlaceBets.RemovePlaceBets(Integer)' выполняет вызов в 'WebBrowser.Navigate(String)', для которого задана проверка LinkDemand. Выполняя этот вызов, 'WebBrowser.Navigate(String)' косвенно предоставляется пользовательскому коду. Рассмотрите следующий стек вызова, который может раскрыть способ обхода защиты безопасности: ->'PlaceBets.RemovePlaceBets(Integer)' ->'PlaceBets.RemovePlaceBets(Integer)' Как сделать чтобы не было предупреждения. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
vladd, вся информация по кодам предупреждений(в том числе способы устранения проблем) есть в мсдн
http://msdn.microsoft.com/ru-ru/library/ms182303.aspx -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
Спасибо. Смотрим msdn.
CA2112: защищенные типы не должны предоставлять поля Причина Открытый или защищенный тип содержит открытые поля и защищен Требования связывания. Описание правила Если код имеет доступ к экземпляру типа, защищенного запросом компоновки, то для получения доступа к полям типа коду не требуется удовлетворять запросу компоновки. Устранение нарушений Чтобы устранить нарушение этого правила, необходимо сделать поля неоткрытыми и добавить открытые свойства или методы для возвращения данных их этих полей. Проверки системы безопасности LinkDemand для типов защищают доступ к методам и свойствам типа. Однако управление доступом для кода не применяется к полям. Следующий класс предоставляет приложению возможность получить экземпляр защищенного типа.
А как это перевести на vb net. На vb net примера я не нашел. Да и в этом мало что понял. Это сообщение отредактировал(а) vladd - 13.3.2012, 11:16 |
|||
|
||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
vladd, Ты не то скопировал, тут скорее первый пример уместен
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
Спасибо за обьяснения. Но для меня это все равно темный лес. Изредка солнышко проскакивает благодаря таким людям как ты. Я пытаюсь освоить vb net, но видимо до понимания твоего уровня языка мне еще далеко. Поэтому не сердись за назойливые вопросы. Но я на форуме задаю вопросы те в которых ноль и ничего не могу понять. Так же и этот вопрос. Так пытаюсь научится языку. И все равно как же мне сделать, чтобы не было этого предупреждения СА 2112. Пока еще не знаю, несмотря на твои старания.
|
|||
|
||||
| diadiavova |
|
||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Сделай вот так
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||||
|
|||||||||
| vladd |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
Спасибо.Все работает. Но вот вопрос. Что делает эта строка? В этой строке
это класс позволяет применять действия по обеспечению безопасности для объекта EnvironmentPermission к коду, использующему декларативную безопасность.
А что такое SecurityAction.LinkDemand и Unrestricted := True? Что делает эта строка? Еще раз спасибо. Это сообщение отредактировал(а) vladd - 13.3.2012, 14:05 |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Я так понимаю, ты не знаком с атрибутами? Почитай здесь http://msdn.microsoft.com/ru-ru/library/z0w1kczw.aspx ну и по связанным разделам пробегись, если чего не поймешь. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
Я так понял что данный атрибут < >
закрывает поля от общего доступа. Возникают вопросы. 1. Какие это поля TestForm.WebBrowser1.Navigate("about:<b></b>") 2. Как этот атрибут защищает эти поля. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Это из чего следует? -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
А как это попроще Атрибут устанавливает политику безопасности для метода. Я так понимаю если атрибут обьявлен перед процедурой RemovePlaceBets. То он и добавляет какие то свойства этой процедуре. А именно этот атрибут делает одинаковым доступ ко всем ее методам, переменным и др. таким же безопасным как и доступ к WebBrowser.Navigate(String). В чем неправ прошу поправить.
Это сообщение отредактировал(а) vladd - 14.3.2012, 14:34 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
В первую очередь в терминологии. Я не понимаю, что ты имеешь в виду, употребляя слова "поля", "свойства" и "методы". Все вышеперечисленное является членами типов(классов, структур или интрефейсов), когда ты говоришь о каких-то свойствах, методах и полях процедуры, ты явно имеешь в виду что-то другое. На самом деле метод - это именно то, что ты называешь процедурой, поэтому, что такое
я не понял. Доступ к переменным метода в любом случае возможен только внутри самого метода. Устанавливая атрибут безопасности ты указываешь права доступа к самому методу и ничего больше. Подробнее о той или иной политике в мсдн читай, ну вот здесь хотя бы http://msdn.microsoft.com/ru-ru/library/3ky50t49.aspx http://msdn.microsoft.com/ru-ru/library/8a3x2b7f.aspx -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
Значит наоборот.WebBrowser является наиболее опасным, так как через него можно попасть в этот метод, а далее во весь остальной код. Поэтому атрибут наш защищает остальной код от этого метода. Сейчас я правильно понял или же нет?
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vladd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 31.1.2009 Репутация: нет Всего: нет |
Я не хакер поэтому на этот вопрос я тебе не отвечу. Знаю только что постоянно в IE находят дыры и их постоянно латают. А про WebBrowser наверное и говорить не надо, если он из интернета инфу берет. Это мое понимание безопасности такое.
|
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |