我非常想在我正在处理的项目中使用服务器端包含,因为我只有一些重复的 HTML,我需要在几个页面上获取它。 必须 我使用 ascx 或其他一些包含技术... 我的意思是,如果我使用服务器端包含会雷击吗?
我的客户——中间人——说“做最简单的事情,无论如何这可能很快就会在 CMS 中重做。”我不能使用服务器端包含吗?
它是 ASP.NET 2.0。
注:我觉得这个问题以前有人问过,但我找不到。如果有请告诉我,我会亲自删除,谢谢!
编辑:如果您有建议,我可以通过任何方式在一条线上获得包含。
编辑:为什么我喜欢包含?
包括代码:
!--#include file="inc_footer.aspx"-->
控件的相同代码。首先你需要其中一个
<%@ Register TagPrefix="a" TagName="HeyFooter" Src="inc_footer.ascx" %>
然后你可以像这样使用它
<a:HeyFooter runat="server" />
这对我需要的东西来说有点长。
备注 包括两个安全问题:1)不要使用 .inc 扩展名,因为它可以被浏览。 2)不包括基于用户变量的文件名,作为最佳答案点。
最佳答案
如果通过字符串变量包含文件:<!--#include file=some_variable -->
,然后根据该变量的填充方式,黑客可能会进行攻击以包含他自己的文件并在您的计算机上运行任意代码。但只要你使用字符串文字,你就不会遇到这个问题。
我会使用 Master Pages在 ASP.NET 中。这是拥有页面公共(public)区域的公认方式。
您将像创建常规页面一样创建母版页,然后对其他每个页面的修改将是最小的。在每个页面文件的顶部添加一行,然后指定使用的部分。
关于asp.net - 服务器端包含问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164754/