'Website project'文件夹中App_code公共函数和类在 ASP.net 中不好吗?



我一直在做ASP.net项目,之前,我对"网站项目"one_answers"Web应用程序项目"一无所知。我认为两者是一样的,所以我选择了网站,现在我希望我已经做了其他的工作,能够使用名称空间。

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

我注意到,我只能公开类及其函数,甚至不能保护它们。我只是想知道使用公共类是否存在安全漏洞。有人能扔一些颜色吗?

谢谢你抽出时间。

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

App_Code文件夹的安全性

App_code文件夹中代码的安全问题本质上是与Bin文件夹中的代码相同--代码被编译成程序集。一个缓解因素是,您可以阅读App_code文件夹中文件的源代码。但是,如果您没有完全理解代码,它仍然可能代表安全风险。因此,对待App_code文件夹中的源代码就像对待从同一来源编译的代码。

只有当你有人可以访问你的App_code文件夹(他们通常不应该访问)时,阅读源代码的问题才重要。

访问器(public、protected、private等)与安全无关。它们决定了范围。

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

最新更新