ASP.net中“网站项目”的App_code文件夹中的公共函数和类是否已损坏?

时间:2012-07-31 11:56:44

标签: asp.net visual-studio public asp.net-webpages

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

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

我注意到我只能保持课程及其功能公开,甚至不受保护。我只是想知道在使用公开的课程时是否存在任何安全漏洞。谁能抛出一些颜色?

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

这个特定主题的MSDN documentation实际上非常好:

  

App_Code文件夹的安全性

     

App_Code文件夹中代码的安全问题基本上是   与Bin文件夹中的代码相同 - 代码被编译成一个   在运行时组装。一个缓解因素是你可以阅读   App_Code文件夹中文件的源代码。但是,如果你不这样做   完全理解代码,它仍然可以代表安全风险。   因此,请像处理一样处理App_Code文件夹中的源代码   来自同一来源的编译代码。

只有当有人有权访问您的App_Code文件夹(通常不应该访问)时,才能解读源代码。

答案 1 :(得分:0)

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

你做了什么 - 实用程序类的公共方法很常见。 .NET框架充满了它们。例如,查看System.IO.File类或System.Text.RegularExpressions.Regex类。没有安全漏洞。