【c# – P / Invoke声明不应该是安全关键的】教程文章相关的互联网学习教程文章

c# – 在php中传输用户密码的安全方式

嗨,我这几天谷歌搜索找到一个更好的方式来通过互联网发送用户信息(包括密码).我们的服务器没有安装SSL.所以需要一种非常简单安全的方法来发送用户信息.将来我的老板想要扩展它以连接用.net(C#)编写的桌面应用程序.所以这些方法也应该与.net兼容.我需要一个建议或任何我可以为开发更好的解决方案的好主意.解决方法:一些想法: >使用TLS / SSL.真.这些天可以免费获得Web服务器证书.>使用TLS / SSL.我真心的.不要天真地认为你可以做一...

边界切面和方法拦截学习,C#事务和线程安全【代码】【图】

趁着这几天有时间摸鱼的功夫,赶紧再更新一次博客,将学习到的知识记录下来 1.边界切面 常规意义上讲,边界就是用于区分两种东西的标识,它可以是线、皮毛或是物种等。 编码中的边界其实也是一样的,从主函数main中调用另一个方法时,两个方法之间便会穿过一个边界,该边界在未使用时便是透明的。我们可以通过边界控制方法执行前、执行后的结果,减少方法之间的耦合或增加一些复用性很高的代码。 切面实现 此次切面实现使用的是 Po...

c# – .NET4.0:更新字典及其值的线程安全方式【代码】

我有一个静态字典,我想安全地更新.最初,字典将为空,但在应用程序的生命周期内,它将添加新值.此外,整数值将作为可以递增和递减的单个计数器.private static Dictionary<string, int> foo = new Dictionary<string, int>();public static void Add(string bar) {if (!foo.ContainsKey(bar))foo.Add(bar, 0);foo[bar] = foo[bar] + 1; }public static void Remove(string bar) {if (foo.ContainsKey(bar)){if (foo[bar] > 0)foo[bar] ...

c# – 正在读取int []数组,而另一个线程更新int []数组安全吗?

两个线程.数组中第一个疯狂读取元素.第二个同样是通过读取元素并将它们递增任意量来更新元素. 这样安全吗?在这种情况下会出现什么问题吗?我不介意读取线程在更新线程仍在更新过程中读取“旧”值.我只是想确保读者不会读取未写入的数字,也不会发生异常.解决方法:int更新在所有可以执行托管代码的cpu体系结构上都是原子的.换句话说,您将不会读取只有写入线程修改的单个字节的值.值类型值大于32位,如long和double不保证原子.对象引用...

c# – 使用字典的不安全线程 – 让我们打破一些东西【代码】

所以在http://msdn.microsoft.com/en-us/library/xfhwa508.aspx的底部我们看到了A Dictionary(Of TKey, TValue) can support multiple readers concurrently, as long as the collection is not modified. Even so, enumerating through a collection is intrinsically not a thread-safe procedure. In the rare case where an enumeration contends with write accesses, the collection must be locked during the entire enume...

c# – List属性的线程安全访问【代码】

我想知道这个声明是否会导致同步问题:List<Character> characters = World.CharacterManager.Characters;‘人物’是一个阶级 ‘CharacterManager.Characters’看起来像这样:public List<Character> Characters {get{lock (this.objLock) { return this.characters; }} }这会导致同步问题吗? 我想使用引用的List迭代来查找我正在寻找的角色.解决方法:锁是没用的.您将不得不使用诸如Will建议的线程安全集合,或者如果您不需要写访问...

c# – 使用我的UserId Guid作为我的电子邮件确认链接是否安全?

我想进行电子邮件确认注册,以便当用户注册时,他或她收到一封带有确认链接的电子邮件.链接类似于:www.site.com/confirm?id = 34398df809as8df9,然后将其与标准aspnet成员资格提供程序中的数据库中的UserId进行匹配.使用UserId作为传递给电子邮件的guid构成任何类型的漏洞或安全威胁?解决方法:GUID是链接中唯一的想法吗?如果是这样,那绝对不安全.这意味着一旦攻击者拥有任何人的身份证(例如,通过查找旧邮件),他们就可以随时重置用...

c# – 这个示例线程是否安全?【代码】

假设我有一个充当数据缓存的单例类.多个线程将从缓存中读取,并且单个线程将定期刷新它.它看起来像这样:public sealed class DataStore {public static DataStore Instance { get { return _instance; } }public Dictionary<Foo, Bar> FooBar { get; private set; }static DataStore() { }private DataStore() { }public void Refresh() {FooBar = GetFooBarFromDB();}private static readonly DataStore _instance = new DataStor...

C#String安全替换【代码】

你有任何想法或提示如何安全地更换字符串? 例:string Example = "OK OR LOK";现在我想用true替换“OK”,用false替换“LOK”.Example = Example.Replace("OK", "true"); Example = Example.Replace("LOK", "false");现在结果是:Example =“true或Ltrue”; 结果应该是:Example =“true or false”; 我理解这个问题,但我不知道如何解决这个问题. 谢谢解决方法:您可以先替换最长的字符串,例如.用这种方法:public static string Re...

c# – 这个ASP.Net身份验证模型的安全性如何?

我使用c#& amp;创建了一个Web身份验证应用程序. asp.net并想要反弹你认为它的安全性.所有导航均由https完成. 用户注册 >用户输入3个数据点(SSN,Lname和DOB).如果在我们的系统中找到该组合,则会设置会话变量并导航到下一页.>如果设置了#1的会话变量,请继续并询问用户名,密码,安全q& A等.使用Linq保存数据并在实际保存事件之前验证会话变量.使用salt和sha对PWD和安全性答案进行哈希处理. (使用验证控件和文本框限制来限制输入) 重设密...

c# – 在迭代期间从SortedList中删除是否安全【代码】

我的问题是枚举器从SortedList中删除项目是否安全?SortedList<decimal, string> myDictionary; // omitted codeIEnumerator<decimal, string> enum = myDictionary.GetEnumerator();while(enum.MoveNext) {// is it ok to remove here?myDictionary.Remove(enum.Current.Key); }解决方法:这将抛出异常 – 您无法在迭代时修改集合. 如果你仔细想一想,你会理解为什么.如果允许在集合中添加或删除,则不再迭代同一集合 – 您要么太多(...

c# – “无法在Azure Web应用程序中创建SSL / TLS安全通道”【代码】

我的Azure Web应用程序需要连接到各种服务器(使用和不使用SSL).只要我在Windows 10上的本地IIS Express或IIS 7.5中运行应用程序,这就完美无缺. 一旦我将应用程序部署到Azure,它就会停止为需要SSL的某些服务器工作(不是全部考虑).如果我通过ssllabs运行它们通常会得到A而有效的则得到B或C. 所以我认为Azure实例上的.NET支持的密码少于本地支持的密码或类似的东西? 我试过这个ServicePointManager.ServerCertificateValidationCallb...

c# – JwtSecurityTokenHandler线程是否安全【代码】

我正在使用JwtSecurityTokenHandler在aspnet核心web api应用程序中发出令牌:JwtSecurityToken token = BuildJwtSecurityToken(...); public string toks = new JwtSecurityTokenHandler().WriteToken(token);每次请求和创建令牌时,都会实例化一个新的JwtSecurityTokenHandler,我可以使用它的全局实例并将其用于每个令牌生成吗?private JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler(); private GenToken(JwtSe...

c# – FIFO / QUEUE,带缓冲区和线程安全

我收到了大量需要插入数据库的统计数据.我想实现某种保存所有数据的Queue或FIFO类当它到达特定计数(缓冲区)时,它将通过批量插入将该数据发送到SQL.这应该是线程安全的. 我知道如何制作批量插入物.有关如何制作队列/列表的建议吗? 谢谢解决方法:.net基类库具有ConcurrentQueue(Of T).只需导入System.Collections.Concurrent. 编辑:如果必须使用队列,则可以创建一个包装类/模块,在计数器(缓冲区)达到一定量时触发事件.

c# – 服务器不支持安全连接【代码】

我在下面的代码中收到错误“服务器不支持安全连接”.SmtpClient client = new SmtpClient(exchangeServer); client.UseDefaultCredentials = false; client.EnableSsl = true; client.Credentials = new NetworkCredential(user, password);MailAddress from = new MailAddress(fromAddress); MailAddress to = new MailAddress(to); MailMessage mail = new MailMessage(from, to);// ...client.Send(mail);我该如何解决这个问题?...