powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ошибка CA2103: Review imperative security
6 сообщений из 6, страница 1 из 1
ошибка CA2103: Review imperative security
    #38745493
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Был такой код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public static bool CheckDirectoryPermissions(string path,FileIOPermissionAccess access)
	{
			var f2 = new FileIOPermission(access, path);
			try
			{
				f2.Demand();
				return true;
			}
			catch (SecurityException)
			{
				return false;
			}
		}


при билде получал эту ошибку : ***): Microsoft.Security : Review the following for a possible security vulnerability: Parameter 'path' of 'FileCheckPermissions.CheckDirectoryPermissions(string, FileIOPermissionAccess)' is being passed to a 'FileIOPermission' constructor.
исправил так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public static bool CheckDirectoryPermissions(string path,FileIOPermissionAccess access)
		{
			var ac = access;
			var p = path;
			var f2 = new FileIOPermission(ac, p);
			try
			{
				f2.Demand();
				return true;
			}
			catch (SecurityException)
			{
				return false;
			}
		}


теперь ок. Объясните мне - как так-то? В чем безопасность?:)
...
Рейтинг: 0 / 0
ошибка CA2103: Review imperative security
    #38745781
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan, судя по описанию сообщения CA2103 это может быть уязвимостью если мы мы используем значение "чужих" переменных после успешного Demand(). "Исправление" убирает сообщение т.к. - похоже - FxCop считает что теперь CheckDirectoryPermissions владеет этими переменными.

Я бы убрал исправление и добавил атрибут для игнорирования данного сообщения:
Код: c#
1.
2.
3.
4.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")]
public static bool CheckDirectoryPermissions(string path,FileIOPermissionAccess access)
{
...



Кстати что именно ты пытаешься проверить таким образом? Если права NTFS, то она не поможет.
...
Рейтинг: 0 / 0
ошибка CA2103: Review imperative security
    #38746559
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilenetivan, судя по описанию сообщения CA2103 это может быть уязвимостью если мы мы используем значение "чужих" переменных после успешного Demand(). "Исправление" убирает сообщение т.к. - похоже - FxCop считает что теперь CheckDirectoryPermissions владеет этими переменными.

Я бы убрал исправление и добавил атрибут для игнорирования данного сообщения:
Код: c#
1.
2.
3.
4.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")]
public static bool CheckDirectoryPermissions(string path,FileIOPermissionAccess access)
{
...



Кстати что именно ты пытаешься проверить таким образом? Если права NTFS, то она не поможет.
это я уже понял. Мне нужны именно NTFS права
...
Рейтинг: 0 / 0
ошибка CA2103: Review imperative security
    #38746565
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМне нужны именно NTFS права
Самый лучший способ проверить права - попытаться выполнить соответствующее действие. Если прав нет, то будет исключение. Еще лучше вообще ничего не проверять, а сразу пытаться делать, то что необходимо и быть готовым к UnauthorizedAccessException.
...
Рейтинг: 0 / 0
ошибка CA2103: Review imperative security
    #38746574
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilenetivanМне нужны именно NTFS права
Самый лучший способ проверить права - попытаться выполнить соответствующее действие. Если прав нет, то будет исключение. Еще лучше вообще ничего не проверять, а сразу пытаться делать, то что необходимо и быть готовым к UnauthorizedAccessException.
16575113 может так? Хотя тоже склоняюсь к тупому способу запись-ошибка-проврка
...
Рейтинг: 0 / 0
ошибка CA2103: Review imperative security
    #38746606
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan, ответил в той теме. Предлагаю там и продолжать :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ошибка CA2103: Review imperative security
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]