草庐IT

安全通信存储

全部标签

c# - 具有上限的线程安全集合

我正在寻找具有以下属性的集合:threadsafe:将在asp.net中使用,多个客户端可以同时尝试添加、删除和访问成员ma​​xelements:我希望能够在构造时设置一个上限,最大元素数TryAdd:一种与BlockingCollection.TryAdd(T)相同的方法将是完美的,即如果已达到最大元素数,它将返回false类似字典:在大多数其他方面是ConcurrentDictionary将是完美的,即能够通过键识别元素,删除任何项目(不仅仅是第一个或最后一个,我认为这将是BlockingCollection的限制)在尝试自己动手之前,我的问题是:我是不是错过了一个可以对集合中的

c# - 文件上传安全问题

我有一个可供公众使用的Web表单,它具有文件上传功能。现在文件要么保存在网络服务器上,要么作为电子邮件附件发送出去。我们对大小有限制,即15MB和上传文件的扩展名。我们的SMTP服务器位于同一网络服务器上。我担心安全问题,因为任何人都可以上传恶意文件并对我们的生产Web服务器产生影响。这种公开的文件上传控制对我有什么风险?是否有人可以通过上传恶意文件在Web服务器上执行恶意脚本。我做了一些研究,发现了以下几点如果我在电子邮件中将文件作为附件发送,该文件将临时存储在临时ASP.Net文件夹中,一旦发送电子邮件,该文件就会被删除。您可以在将文件保存到文件系统之前重命名文件。您可以将文件保存

c# - 从 .net 存储 10 - 1 亿个模拟输出的最佳方式(SQL 与平面文件)

我一直在从事一个项目,该项目从模拟中生成大约10到1亿个输出,我想存储这些输出以供将来分析。数据有几个自然级别的组织,例如教室里的学生参加的考试有一些不同的表现指标。就能够一次放入内存而言,我的数据似乎是边界线(考虑到模拟的计算需要内存中的大量数据来进行计算),但我没有立即需要所有数据立即可供我的程序使用。我正在考虑将计算值输出到SQL数据库还是纯文本文件会更好。我正在寻找有关哪种方法可能更快/更容易维护的建议(或者如果您有存储数据的替代建议,我对此持开放态度)。我不需要能够与其他任何人共享数据,也不需要担心在未来几年访问数据。我只需要一种方便的方法来避免每次我想对值的分析进行调整时重

c# - SignalR 安全

我是SignalR的新手,但我很好奇它的安全性。例如,我创建了以下方法来向所有用户发送消息,如下所示:publicclassNotificationHub:Hub{publicvoidSend(stringmessage){Clients.All.broadcastMessage(message);}}SignalR在js文件(集线器)中生成以下方法:proxies.notificationHub.server={send:function(message){returnproxies.notificationHub.invoke.apply(proxies.notificationH

c# - 使用 LINQ-to-SQL 从事务内部回滚存储过程调用?

我有一个与SQLServer数据库一起运行的C#.netwinform程序。我正在使用LINQ-to-SQL。是否可以在我的程序中使用LINQ-to-SQL回滚对一个或多个存储过程的调用?最初我认为在存储过程中管理事务是有意义的,但如果我需要回滚多个存储过程调用作为单个事务的一部分,则需要在我的C#程序中完成。谁能给我指出一个代码片段来说明如何做到这一点,或者提供一些替代方案的见解? 最佳答案 DbTransaction的另一种选择是TransactionScope-这提供了一个更简单的编程模型,并且可以扩展到多个同步数据库和其他提

c# - WCF 错误通信对象 System.ServiceModel.Channels.ServiceChanne 不能用于通信,因为它处于故障状态

我们得到“通信对象System.ServiceModel.Channels.ServiceChannel无法用于通信,因为它处于故障状态。”关闭应用程序时的消息。谁能告诉我如何解决它?我们知道这是试图关闭的通信channel,但由于服务不可用或处于故障状态而无法关闭。我只能说,当服务不可用时,垃圾收集器试图销毁对象,通信对象正在调用其服务关闭函数。我们得到异常。 最佳答案 当您询问有关异常的问题时,您应该发布整个异常,包括所有InnerException实例。你应该捕获异常,显示ex.ToString(),然后用“throw”重新抛

c# - 在凭证管理器服务中存储凭证

我有一些凭据(用户名和密码),但我不知道将它们存储在哪里。我听说有一个应用程序在Windows凭据服务中存储凭据,所以我研究了这个选项。这似乎很理想。只需将敏感信息存储在Windows服务中,而不必担心将它们存储在您自己的注册表项中。不幸的是,我很快发现这并不是那么简单。我在MSDN中找到的唯一帮助是C语言。然后我想我一定是弄错了,但后来我下载了Cain,并看到了一个用于解码凭证管理器密码的条目。有没有办法在.NET中使用此功能?请告诉我。 最佳答案 您必须使用互操作才能在.NET中使用凭据管理API,但幸运的是,其他人已经完成了大

c# - 在 Windows 7 和 Vista 中存储应用程序数据的位置

我的应用程序需要像大多数应用程序一样存储数据。该应用程序以前仅在XP上使用,它会将数据存储在ProgramFiles中。现在我们的客户正在迁移到Windows7,我必须对其进行升级,以便将数据存储在一个新文件夹中。我选择了ApplicationData文件夹,因为我认为我根本不需要UAC就可以访问。现在在一些Windows7机器上这很好,但在其他机器上访问文件夹失败,可能是因为权限,但当以管理员权限运行时程序运行正常。我使用了错误的文件夹还是这些情况异常?无论哪种情况,这种事情的最佳做法是什么?我正在使用以下C#SpecialFolder获取AppData文件夹位置。System.En

c# - 如果用户 = SYSTEM,.NET 用户设置存储在哪里?

我一直在使用更新来更新我的一个应用程序并使用Properties.Settings.Default.Upgrade()并发现在我的更新程序重新启动我的应用程序后,它在SYSTEM用户而不是默认/登录用户。这让我想知道,SYSTEM的user.config存储在哪里?我知道user.config通常存储在哪里(C:\DocumentsandSettings\%USERPROFILE%\LocalSettings\ApplicationData\etc...),但是中没有文件夹SYSTEM用户的code>DocumentsandSettings。有人知道它在哪里或.NET如何处理吗?

c# - C# .NET 中的 UTF-16 安全子字符串

我想得到一个给定长度的子字符串,比如150。但是,我想确保我不会切断unicode字符之间的字符串。例如看下面的代码:varstr="Hello?world!";varsubstr=str.Substring(0,6);此处substr是无效字符串,因为笑脸字符被切成两半。相反,我想要一个执行以下操作的函数:varstr="Hello?world!";varsubstr=str.UnicodeSafeSubstring(0,6);其中substr包含“Hello?”作为引用,以下是我在Objective-C中使用rangeOfComposedCharacterSequencesForR