草庐IT

iOS安全

全部标签

c# - 什么替代了 .net 中的代码访问安全性

随着代码访问安全性的消亡,我们如何限制对.Netframework4.0中DLL的访问?具体来说,我们有一个包含UI层和业务层的项目。UI层告诉业务层用户是谁。我们试图阻止的是UI层以外的任何dll调用业务层并说“嗨,我是乔”。 最佳答案 部分答案,但您可以在.Net4中使用旧版CAS。引自http://www.infoq.com/news/2009/11/CAS-Replaced:With.NET4.0,globalCASpolicieswilldisabledbydefault.Systemadministratorsareen

26岁转行网络安全,成功上岸安全开发!

前言我是去年9月22日才正式学习网络安全的,之前在国营单位工作了4年,在长沙一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才26周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一心想着要跳出来,却一直找不到合适的机会。因为身边的朋友有在长沙做安全研发的,他工作了四五年的时间,可以在北京拿到3万的月薪,说心里话我是真的羡慕,这远超出了我的认知范围。所以经过朋友的推荐,我开始学习网络安全,一共学了大概5个多月的时间,今年的3月6号在长沙找到了一份安全研发的工

c# - 在类中表示类型安全属性包的最佳方式是什么?

我有一个第3方应用程序,它提供了一个具有许多“属性”的对象,这些属性只是(字符串)键和值对。值类型可以是字符串、DateTime、Int32或Int64。我需要创建自己的类来方便地表示该对象。我正在创建一个向客户端提供此对象的WCF服务,因此我需要它非常简单和干净。属性的键将作为Enum呈现给客户端(以隐藏第3方应用程序的特定键字符串的信息)。但是,我不确定如何表示这些值。以下是一些选项:选项1:每个属性值有不同的集合,看起来很丑,但对于客户来说非常容易使用publicclassMyObject{publicDictionaryTextAttributes{get;set;}publi

c# - 如何在 C# 应用程序中安全地存储数据库登录名和密码?

我有一个C#应用程序需要连接到SQL数据库以不时发送一些数据。如何安全地存储用于此作业的用户名和密码? 最佳答案 ThereisaniceMSDNarticle关于如何保护.Net中的连接字符串。您可能想使用protectedconfiguration. 关于c#-如何在C#应用程序中安全地存储数据库登录名和密码?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11685206/

c# - 安全地停止长时间运行的任务

如何停止长时间运行的任务(.net4)?我已经实现了TPL并尝试使用CancellationTokenSource但它似乎不适用于我的场景。我见过的所有示例都假设您在while循环中工作,以便您可以检查任务是否已被取消,而我只有一个需要很长时间的操作。我不能等待工作完成,因为我需要假设它可能永远不会完成。这是我试过的代码:bool?result=null;varcs=newCancellationTokenSource();varct=cs.Token;vardoWorkTask=newTask(()=>{Console.WriteLine("startdoworktask");res

c# - 检查 null 线程安全吗?

我有一些代码在新线程上抛出异常,我需要在主线程上确认和处理这些异常。为实现这一点,我通过使用保存抛出异常的字段在线程之间共享状态。我的问题是我是否需要在检查null时使用锁,就像我在下面的代码示例中所做的那样?publicclassMyClass{readonlyobject_exceptionLock=newobject();Exception_exception;publicMyClass(){Task.Run(()=>{while(CheckIsExceptionNull()){//Thisconditionalwillreturntrueif'somethinghasgonew

c# - 如何从 EF 的非异步 SaveChanges 安全地调用异步方法?

我正在使用ASP.NETCore和具有SaveChanges和SaveChangesAsync的EFCore。在保存到数据库之前,在我的DbContext中,我执行了一些审计/日志记录:publicasyncTaskLogAndAuditAsync(){//doasyncstuff}publicoverrideintSaveChanges{/*await*/LogAndAuditAsync();//whatdoIdohere???returnbase.SaveChanges();}publicoverrideasyncTaskSaveChangesAsync{awaitLogAndAu

c# - CultureInfo线程安全

我有一个多线程应用程序来解析一些文本,它需要使用英语文化信息来解析文本中的数字。所以,我不想每次调用解析函数时都创建EngCulture。目前我将EngCulture作为参数传递,但我对此并不满意。我想将EngCulture定义为静态成员,以便线程共享它。Msdn文档说“此类型的任何公共(public)静态(在VisualBasic中共享)成员都是线程安全的。不保证任何实例成员都是线程安全的。”我只是在使用以下函数,那么我怎么知道TryParse是否使用了EngCulture的任何实例成员?publicstaticCultureInfoEngCulture=newCultureInfo

c# - 通过线程池多路复用 C# 5.0 的异步——线程安全吗?

这可能看起来有点疯狂,但如果我可以合理地确定它不会导致奇怪的行为,我正在考虑将其作为更大库的一部分。方法:使用分派(dispatch)到线程池的SynchronizationContext运行异步用户代码。用户代码看起来像这样:asyncvoidDoSomething(){intsomeState=2;awaitDoSomethingAsync();someState=4;awaitDoSomethingElseAsync();//someStateguaranteedtobe4?}我不确定对someState的访问是否是线程安全的。虽然代码将在一个“线程”中运行,这样操作实际上是完全

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

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