草庐IT

虚拟号安全

全部标签

c# - RequestAdditionalTime() 的安全开销是多少?

我有一个Windows服务,它在单独的线程上生成一组子事件,并且只有在所有这些事件都成功完成后才会终止。我事先不知道在收到停止信号后终止事件可能需要多长时间。在OnStop()期间,我每隔一段时间等待该停止信号,并不断请求额外的时间,只要系统愿意授予它即可。基本结构如下:classMyService:ServiceBase{privateCancellationTokenSourcestopAllActivities;privateCountdownEventrunningActivities;protectedoverridevoidOnStart(string[]args){//.

c# - 为什么我需要在 C# 类中使用虚拟修饰符?

我有以下类(class):publicclassDelivery{//Primarykey,andone-to-manyrelationwithCustomerpublicintDeliveryID{get;set;}publicvirtualintCustomerID{get;set;}publicvirtualCustomerCustomer{get;set;}//PropertiesstringDescription{get;set;}}有人能解释一下为什么他们的客户信息是用虚拟编码的吗?什么意思? 最佳答案 看评论,你在学E

c# - app.config 文件是存储密码的安全位置吗?

我需要在代码中存储secret密码。我不能使用哈希技术,因为需要密码本身。如何将这些数据安全地存储在app.config文件中?还有其他方法可以安全地完成此操作吗?DPAPI和ProtectDataClass不是一个选项,因为key是系统特定的,例如:连接字符串不能以这种方式为不同的最终用户系统存储。 最佳答案 您可以使用DPAPI(数据保护API)来加密配置文件的某些部分。您的代码仍将使用ConfigurationManager并且解密将由框架处理。有关相同内容的更多信息,请参阅此模式和实践文档HowTo:EncryptConfi

c# - 为什么这个赋值不是线程安全的?

我一直在阅读JosephAlbahari关于线程的这本书:http://www.albahari.com/threading/在第2部分中,我找到了这个示例:http://www.albahari.com/threading/part2.aspx#_When_to_Lock这是前面提到的例子:classThreadUnsafe{staticint_x;staticvoidIncrement(){_x++;}staticvoidAssign(){_x=123;}}线程安全版本:classThreadSafe{staticreadonlyobject_locker=newobject();

c# - 我们如何使用 Cake build 对安全的 NuGet 服务器进行身份验证?

我们正致力于使用CakeBuild自动化我们的构建,我们使用来自nuget.org的NuGet包,但我们也有我们自己的NuGetFeed服务器,它有一个用户名/密码身份验证来访问。我们如何将CakeBuild与带有身份验证的自定义NuGet源服务器一起使用? 最佳答案 Cake使用NuGet.exe安装工具、插件和NuGet别名。除非您在#tool/#addin指令中指定了源或提供给NuGet别名,否则NuGet.exe将在当前路径中查找nuget.config并最终以当前用户全局设置(%AppData%\NuGet\NuGet.c

c# - 在 ASP.Net Web 应用程序数据层中实现静态方法是否安全?

我正在开发一个Web应用程序,它是一个B2B门户应用程序。我的应用程序遵循2层架构。下面是一段代码,将公司注册到我的网站//////RegisterCompanywiththebusinessbazaar/////////publicstaticboolRegisterCompany(Registrationregistration){boolresult;using(varhelper=newDbHelper()){_commandText="sp_RegisterCompany";varsuccess=newSqlParameter("@Success",SqlDbType.Bit

c# - 长时间保持 C# Filestream 打开是否安全?

在我的网络服务中,我打开一个文件流到本地磁盘上的一个文件。在服务的整个生命周期中,我都会保留它。对于传入的每个查询,我都使用文件流来读取磁盘。我这样做是为了避免在每次查询时都必须重新打开文件流。此路径的延迟很关键(应小于几毫秒)。我使用SSD将磁盘IO时间保持在0.1毫秒或更短。文件流能否在很长一段时间(几天)内“变坏”(变得无效)。在每次查询时重新打开文件流是否更安全?如果我必须重新打开,每秒多次重新打开文件流的开销是多少? 最佳答案 只要您需要,保持文件打开是安全的。这对您的情况是否有利-您需要自己决定。重新打开文件不应该很慢(

c# - 安全地对多字节字符进行子串 c#

我正在尝试对包含多字节字符的字符串执行子字符串处理,但没有得到预期的结果。我正在尝试对像?test这样的字符串进行子字符串化。第一个字符是一个4字节字符,因此调用ToCharArray对此字符串返回:55357#第一个字符的字节1和256384#第一个字符的字节3和4116#t101#e115#s116#t因此,当我在此字符串上调用.Substring(1)时,它会返回一个无效字符串,该字符串以第一个字符的第三个和第四个字节开头,而不是“test”。有没有办法让.Substring和其他字符串操作将该字符视为一个单元? 最佳答案 您

c# - .NET 的 ConcurrentDictionary 的哪些成员是线程安全的?

System.Collections.Concurrent.ConcurrentDictionary的MSDN文档说:ThreadSafetyAllpublicandprotectedmembersofConcurrentDictionaryarethread-safeandmaybeusedconcurrentlyfrommultiplethreads.However,membersaccessedthroughoneoftheinterfacestheConcurrentDictionaryimplements,includingextensionmethods,arenotgua

智能合约安全——delegatecall (1)

在之前的内容中,学习到了storage中是使用插槽存储数据的。而delegatecall函数有个有趣的特点:当使用delegatecall函数进行外部调用涉及到storage变量的修改时是根据插槽位置来修改的而不是变量名。举个例子:合约A合约B 当合约B调用testDelegatecall()函数时,合约B的地址c的值会变为合约A的地址,而地址a则是不变。因为合约A的函数test()改变的是插槽slot1的值,同样的在合约B中运行时,改变的也是插槽slot1的值,即地址c的值。目标合约漏洞分析我们可以看到有两个合约,Lib合约中只有一个pwn函数用来修改合约的owner,在HackMe合约中存