草庐IT

API安全

全部标签

c# - 等待异步 API 的 Specflow 步骤

如果DoAyncStuff()方法中发生故障,我们正在尝试获取以下场景步骤来中断测试:[Given(@"Thereissomething")]publicasyncTaskGivenSomething(){awaitDoStuff();}privateasyncTaskDoStuff(){awaitTask.Run(()=>Thread.Sleep(1000));thrownewApplicationException("Boom");}但在您使用.Wait()或.Result之前,它实际上是一个愉快的绿色运行:[Given(@"Thereissomething")]publicvoi

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# - ASP.NET Web API 日志记录和跟踪

一旦使用log4net为ASP.NETWebAPI设置了日志记录和跟踪设置,需要记录和/或跟踪的具体方面是什么?我是专门从WebAPI的角度来问这个问题的。是否有一系列MUSTLogthis或MUSTtracethis。例如,INFO跟踪Controller的请求、任何NULL检查等。是否有可以验证的引用列表以确保ASP.NETWebAPI中的最佳日志记录和跟踪覆盖率? 最佳答案 所以我假设您的日志记录目标应该是调试应用程序而不是衡量性能。虽然我认为对此没有一个“正确”的答案,但至少我总是会尝试记录每个日志行中的时间戳、类/函数名称

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

c# - ASP.NET 核心,Web API : No route matches the supplied values

请注意:这个问题是在2016年提出的。这个问题的最初答案是更新microsoftapiversiong包。最近几天,问题再次出现,但由于其他原因。原始问题:我在asp.netcore(webapi)中遇到了一些路由问题。我有这个Controller(简化版):[ApiVersion("1.0")][Route("api/v{version:apiVersion}/[Controller]")]publicclassDocumentController:Controller{[HttpGet("{guid}",Name="GetDocument")]publicIActionResult

c# - ASP Web Api - IoC - 解析 HttpRequestMessage

我正在尝试使用ASP.NETWebAPI设置CaSTLeWindsor。我也在使用Hyprlinkr包(https://github.com/ploeh/Hyprlinkr),因此需要将HttpRequestMessage实例注入(inject)到我的Controller的依赖项之一中。我正在关注MarkSeemann的这篇文章-http://blog.ploeh.dk/2012/04/19/WiringHttpControllerContextWithCastleWindsor.aspx,但我发现虽然API运行,但当我调用它时,请求只是挂起。没有错误信息。就好像它在一个无限循环中。它

c# - 分页 Web API 返回的大量数据

我们创建了用于查询Oracle数据库的WebAPI。查询返回的结果很大,因此有时会抛出OutOfMemoryException。建议使用分页概念。我不明白客户端应用程序如何知道必须调用API多少次才能获得整组结果。我还需要为分页创建一个单独的类,还是可以在我的APIController中操作它。谁能帮我解决这个问题,因为这是我的第一个WebAPI。我们不能为此创建存储过程,因为我们只有对数据库的读取权限publicHttpResponseMessageGetdetails([FromUri]string[]id){stringconnStr=ConfigurationManager.C

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

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