2

我一直在做一个 ASP.net 项目,之前,我对“网站项目”和“Web 应用程序项目”一无所知。我认为两者是一样的,所以我选择了网站,现在我希望我能够使用命名空间。

反正。现在,我需要在所有页面中使用一些全局函数和变量。所以我认为唯一的方法是在 App_code 目录中创建一个类,并通过在需要的地方实例化一个对象来使用它的功能。这是唯一的出路,对吧?

我注意到我只能保持类及其函数公开,甚至不能保护。我只是想知道使用公共类是否存在任何安全漏洞。任何人都可以涂一些颜色吗?

谢谢你的时间。

4

2 回答 2

1

关于这个特定主题的MSDN 文档实际上非常好:

App_Code 文件夹的安全性

App_Code 文件夹中代码的安全问题与 Bin 文件夹中代码的安全问题基本相同——代码在运行时编译成程序集。一个缓解因素是您可以阅读 App_Code 文件夹中文件的源代码。但是,如果您不完全理解代码,它仍然可能存在安全风险。因此,对待 App_Code 文件夹中的源代码,就像对待来自同一源的编译代码一样。

仅当您有权访问您的 App_Code 文件夹(他们通常不应该)时,阅读源代码的问题才有意义。

于 2012-07-31T12:06:51.330 回答
0

访问器(公共的、受保护的、私有的等)与安全性无关。他们确定范围。

您所做的 - 实用程序类的公共方法非常常见。.NET 框架充满了它们。例如,查看 System.IO.File 类或 System.Text.RegularExpressions.Regex 类。不存在安全漏洞。

于 2012-08-01T21:24:26.663 回答