我想实现的是一个具有以下功能的插件系统:从我(开发人员)可能不信任但安装插件的最终用户信任的来源加载外部插件在特定范围内授予每个插件权限;例如一个插件可能有权从特定位置读取文件,而其他插件可能被允许连接到特定网站位置每个插件权限的特例:与另一个对象交互,很可能作为接口(interface)实例提供,而不访问其任何非公共(public)成员(甚至不使用偷偷摸摸的反射技术)在插件代码造成任何危害之前阻止最终用户不同意的操作,例如访问非公共(public)成员或在文件系统上操作在我的搜索过程中,我发现大多数涉及代码访问安全的SO解决方案,据我所知,这些解决方案在.NET4.x中已经过时。我还
我已经使用c#在Azure门户中编写了5个Azure函数。以下是安装我的应用程序的步骤:-复制部署脚本到集群的Edge节点部署执行以下操作的脚本调用Azure函数以从WASB获取我的应用程序构建。在边缘节点上安装我的应用程序调用Azure函数进行一些更新。上述过程将在CustomerEdge节点上执行。授权使用“keys”这里描述的只是为了提供另一层APIkey授权,当我的脚本需要由公共(public)客户端(如边缘节点)调用时不适用,因为它在那里是可发现的。在我的场景中保护AzureFunctions的最佳方法是什么? 最佳答案
我是一名新的Windows8开发人员,我有一些代码是为Linux设计的,但只要安装了GTK#也可以在Windows上运行。我目前正在将该应用程序作为现代UI(Metro)应用程序移植到Windows8。一切顺利,除了,当我尝试导入我的key派生代码(获取用户密码并从中派生key256位key)时,VisualStudioUltimate2013指示它无法识别usingSystem.安全.密码学。在查看Windows8开发者网站后,我发现有一个新类Windows.Security.Cryptography可用,但是,VisualStudio似乎也无法识别它。那么,既然你已经有了背景,我有
我在考虑如何保护C#应用程序中的数据层,在这种情况下,该层可以是与应用程序本身一起存储的LINQtoSQL模型图,其中包含到SQLServer数据库的连接字符串。或者它可能是应用程序和网络服务之间的连接。要么您需要实现某种安全措施,例如,应用程序中的连接字符串很容易被逆向工程,Web服务很容易被跟踪和用于应用程序原始目的之外的其他原因。所以我的问题更简短:在处理Web服务和/或从Windows窗体应用程序直接连接到SQLServer时如何解决安全问题? 最佳答案 在您的情况下,有两种主要的攻击可能性:窃取连接字符串然后直接访问数据库
我有这个网站(C#/ASP.NET),其中包含一个用户可以注册帐户的表单(它是VS11的默认模板),在填写完所有内容并且用户点击注册后,它会创建帐户并登录用户(效果很好)。完成此步骤后,我想获取分配给他的UserID,但它不起作用。我在那里放置了一个断点以查看“currentuserid”和“WebSecurity.CurrentUserId”的值,但它们只有-1值。下一步是将用户重定向到下一页,并在该页面上使用这些功能。我认为我能够获得UserID,因为用户已经在我在此处提供的代码的第一行中登录。所以我的问题是,为什么它在这里不起作用?我对此很陌生,所以我显然遗漏了一些东西。WebS
我有一个使用WebAPI、SignalR的ASP.NETMVC网站。我希望我的服务器(托管网站的同一台服务器)向WebAPIController发出HTTP请求-我希望这样做以便我可以连接到我网站的SignalR功能。我想让网站用户无法访问WebAPIController上的方法,但服务器可以。我查看了一般保护WebAPI请求的选项,似乎我可以使用以下选项:为每个请求发送用户名和密码,也就是基本身份验证生成“客户端证书”并随每个请求一起发送这是仅有的两种听起来可行的方法,但我想知道如果请求来自本地主机(同一台服务器),使用这些方法是否有点过分。这是不是太过分了,有没有更简单的方法来限制
我使用的是PushSharp2.1.2版。该应用程序是.NET4.5.1(尽管我也尝试过针对.NET4.5和.NET4)我正在尝试通过沙盒AppleAPNS发送推送消息,但没有成功。我使用提供的PHP脚本成功发送消息hereonRayWenderlich'swalkthrough使用与我的PushSharp应用程序相同的证书并发送到相同的设备ID。我已经通过从key链中将完整的证书导出为p12进行了测试。导出完成的证书和key。导出私钥。同样通过使用的方法here.当我在PHP脚本中组合使用证书和key时,我没有遇到任何问题。我已将p12证书导入到我测试过的机器上-似乎没有任何区别。在
我正在为数据库创建一个模型,并且对ADO.NET实体模型向导中的以下语句感到好奇,您可以在其中选择是或否作为存储敏感数据的位置-"No,excludesensitivedatafromtheconnectionstring.Iwillsetitinmyapplicationcode."我从来没有使用过这个选项,只是想知道我是否在必须指定我的敏感数据的地方使用过。有什么想法吗? 最佳答案 设置模型构造函数的连接字符串参数:MyEntities1db=newMyEntities1("metadata=res://*/Model1.csd
我正在检查防火墙。以下代码很容易检查默认Windows防火墙的状态:INetFwMgrmanager=GetFireWallManager();boolisFirewallEnabled=manager.LocalPolicy.CurrentProfile.FirewallEnabled;if(isFirewallEnabled==false){Console.WriteLine("Firewallisnotenabled.");}else{Consoe.WriteLine("Firewallisenabled.");}Console.ReadLine();privatestaticI
我正在开发一个Intranet应用程序(C#),它使用一些我们希望保密的数据(网络服务器的本地数据)。此数据使用旧数据存储库加密(AES)。我们无法完全阻止对机器的物理访问。显然,我们永远不会在这里拥有完美的安全性。但是,我们希望尽可能地防止任何人未经授权访问数据。问题是如何最好地存储key。基于某些特定于机器的ID对其进行加密是一种选择,但该信息对于在机器上运行诊断工具的任何人来说都很容易获得。在应用程序中对其进行编码是一种选择(它是一次性应用程序)。但是,.NET程序集很容易反编译。那么,最好是混淆它,使用加密启动器,编译它吗?或者是否有我遗漏的选项?我们很清楚,我知道如果有人下定