c# - 这个安全警告是什么意思(.Net Process 类)?

标签 c# .net security fxcop code-access-security

我正在使用 VSTS 2008 + .Net 2.0 + C#。我在构建后运行代码分析。我收到以下令人困惑的安全警告。这是警告和相关代码,有什么问题吗?如果有安全警告,如何解决?

System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "IExplore.exe";
myProcess.StartInfo.Arguments = @"default.html";
myProcess.StartInfo.Verb = "runas";
myProcess.Start();

警告:CA2122:Microsoft.Security:“TestHtml()”调用具有 LinkDemand 的“Process.Start()”。通过进行此调用,“Process.Start()”间接暴露给用户代码。查看以下可能会暴露规避安全保护方法的调用堆栈:

最佳答案

您的方法调用 Foo 调用 Process.Start,该 Process.Start 受链接请求的保护 完全信任。为了避免 FxCop 警告您的问题,您应该在您的方法中添加对相同权限的链接需求或完整需求。

你可以通过添加到你的方法来修复它

[PermissionSetAttribute(SecurityAction.LinkDemand, Name="FullTrust")]

参见 http://msdn.microsoft.com/en-us/library/970x52db.aspx

关于c# - 这个安全警告是什么意思(.Net Process 类)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1147220/

相关文章:

c# - 使用 MVVM 从列表拖放到 Windows Phone 上的 Canvas

c# - 在 Silverlight/WPF 中绑定(bind)复杂属性

c# - 从 CRM 门户 (2011) 保存相关属性(Lead_PhoneCall 事件)时出错?

.net - FileStream和StreamWriter-写入后如何截断文件的其余部分?

c# - 将 DataTable 存储到 SQL Server 列

c# - 带Docker的Asp.Net Core-包含重复的 'Content'项目

java - Spring 安全 : Ignoring alias of server-name and forcing relogin

php session 安全查询

php - 如何使用 PHP 上传安全图片?

c# - 事务范围内的 "The transaction has already been implicitly or explicitly committed or aborted"