草庐IT

保护板

全部标签

c# - 如何保护 Web API 免受数据检索而不是来自资源所有者的数据检索

我有一个asp.netwebapi。我想稍后在一个Azure网站上自行托管我的WebAPI。登录用户可以在浏览器中执行此操作/api/bankaccounts/3获取有关银行帐号3的所有详细信息。但登录用户不是银行帐号3的所有者。我必须如何设计我的Controller及其背后的服务在数据库中用户只能检索/修改自己的资源吗?更新在我创建一个之后:publicclassUserActionsAuthorizationFilter:AuthorizationFilterAttribute{publicoverridevoidOnAuthorization(HttpActionContexta

c# - 使用 X509Certificate2 (JwtSecurityTokenHandler) 保护 JWT

我设法使JwtSecurityTokenHandler与X509Certificate2一起工作。我能够使用X509Certificate2对象对token进行签名。我还能够通过X509Certificate2.RawData属性使用证书的原始数据来验证token。代码如下:classProgram{staticvoidMain(string[]args){X509Storestore=newX509Store("My");store.Open(OpenFlags.ReadOnly);X509Certificate2signingCert=store.Certificates[0];s

c# - 类由于其保护级别而无法访问

我有三个类(class)。都是同一个命名空间的一部分。这是三个类的基础知识。//FBlock.csnamespaceStubGenerator.PropGenerator{classFBlock:IDesignRegionInserts,IFormRegionInserts,IAPIRegionInserts,IConfigurationInserts,ISoapProxyClientInserts,ISoapProxyServiceInserts{privateListpProperties;privateListpMethods;publicFBlock(stringaFBlock

c# - 如何保护dll?

如何保护我的项目的dll,使其不能被其他人引用和使用?谢谢 最佳答案 简短的回答是,除了显而易见的事情之外,您无能为力。您可能想要考虑的显而易见的事情(大致按照难度递增和合理性递减的顺序)包括:静态链接,因此没有可攻击的DLL。去除所有符号。使用.DEF文件和导入库只进行匿名导出,仅通过其导出ID知道。将DLL保存在资源中并仅在运行时将其公开在文件系统中(以适当的模糊名称,甚至可能在运行时生成)。将所有真实函数隐藏在一个工厂方法后面,该方法将secret(更好的是secret知识证明)交换为指向真实方法的函数指针表。使用从恶意软件领

c# - 保护匿名 Web API 请求的方法

我有一个ASP.NETMVC(不是ASP.NETCore)单页应用程序,前端带有angularjs。我的客户端(浏览器)通过ASP.NETWebAPI与服务器对话。现在,Web应用程序位于https但匿名。没有登录/用户身份验证。Web应用程序采用向导形式,用户可以在其中来回切换并添加或更新网页上的输入字段。然后通过WebAPI在服务器上更新表单输入值。我正在寻找一种方法来单独保护我的WebAPI调用,尤其是POST/PUT请求。总之,我想阻止任何用户直接从POSTMAN或Fiddler调用我的WebAPI。WebAPI,尽管是匿名的,但只能从发起请求的浏览器session中调用。我有

c# - 使用 C# 密码保护 PDF

我正在我的过程中使用C#代码创建一个pdf文档。我需要保护文档使用一些标准密码,如“123456”或一些帐号。我需要这样做没有任何引用dll,如pdfwriter。我正在使用SQLReportingServices报告生成PDF文件。有没有最简单的方法。 最佳答案 IamcreatingapdfdocumentusingC#codeinmyprocess您是否使用某些库来创建此文档?pdfspecification(8.6MB)相当大,如果不使用第三方库,所有涉及pdf操作的任务都可能很困难。使用免费和开源的密码保护和加密您的pdf

c# - 具有非空保护子句的自动实现的属性?

我同意MarkSeeman的观点,即AutomaticPropertiesaresomewhatevil因为他们打破了封装。然而,我确实喜欢它们带来的简洁语法、可读性和便利性。我引用:publicstringName{get;set;}Theproblemwiththecodesnippetisn’tthatitcontainstoomuchceremony.Theproblemisthatitbreaksencapsulation.Infact“[…]gettersandsettersdonotachieveencapsulationorinformationhiding:theya

c# - 出于软件保护目的,将保护试用信息存储在何处

它可能与其他问题重复,但我发誓我在StackOverflow.com上进行了大量搜索和搜索,但我找不到问题的答案:在C#.Net应用程序中,保护试用信息(如到期日期、使用次数)存储在哪里?据我所知,老练的黑客可以破解各种软件保护策略(因为他们几乎总能绕过过期检查步骤)。但我现在要做的只是以合理的方式保护它,让“普通”/“高级”用户无法搞砸。好的,为了证明我已经在StackOverflow.com上进行了大量搜索,我列出了所有可能的策略:1。注册表项首先,某些用户可能无权访问注册表。其次,如果我们将ProtectionTrialInfo放在RegistryEntry中,用户总能通过比较软

c# - 如何开始使用 OAuth 来保护 Web API 应用程序?

我有一个WebAPI应用程序,我知道OAuth将是API的标准安全模型,其中身份验证服务器将负责生成授权token,以便用户可以发送到我们的服务器并使用服务。我对此很陌生,但我了解所涉及的角色:资源所有者客户资源服务器授权服务器但实际上OAuth到底是什么,而不是理论上?它是.NET库吗?它是由单独的公司提供的服务吗?我可以在我的本地开发机器上配置它并查看它是如何工作的吗?如何开始使用OAuth来保护WebAPI应用程序? 最佳答案 OAuth是一种协议(protocol);当前版本是OAuth2.0.关于您的问题,该链接列出了各种

c# - 为什么控件由于其保护级别而无法访问?

我正在尝试从program.cs访问控件的文本属性,它说由于protected级别而无法访问。请问我该如何解决这个问题? 最佳答案 这是控件的默认属性,可以通过以下方式解决:进入包含指定控件的窗体的设计View然后将控件的Modifiers属性更改为Public或Internal。 关于c#-为什么控件由于其保护级别而无法访问?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/17