隐藏我的网站是用ASP.NET构建的

时间:2010-06-03 12:34:09

标签: c# .net asp.net html

我在ASP.NET 3.5和C#中开发了一个Web应用程序。当我部署应用程序时,人们可以看到我正在使用ASP.NET的迹象。如何让所有看到我网站的人都看不到我正在使用ASP.NET?

5 个答案:

答案 0 :(得分:5)

由于ASP.NET的性质,任何动态构建的控件都将显示$Ctrl。如果您使用ViewState,则会显示。如果您使用ASP.NET事件验证,则会显示。

如果你不希望它出现,你所能做的只是使用另一个框架(ASP.NET MVC),或者不使用ASP.NET的任何功能(如果你使用它会很愚蠢ASP.NET)。

如果您的网页后缀为.aspx,那么每个人都会知道您正在使用ASP.NET。你在使用URL重写吗?

答案 1 :(得分:1)

我建议:

  • 使用网址重写器更改或删除网页扩展程序
  • 不使用查看状态。

答案 2 :(得分:1)

定义告示标志?没有查看源代码,唯一明显的方法是.ASPX扩展。

查看来源,您需要删除

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" ...

    <script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>
  • 对WebResource.axd或ScriptResource.axd
  • 的任何引用
  • ASP.NET控件名称(ctl00等)
  • 回复标题X-Powered-ByX-AspNet-Version

有人能想到别人吗?

答案 3 :(得分:1)

您可能还想删除嵌入的资源。页面源中的.axd扩展名是赠品。

编辑: 想到它,隐藏的字段(例如__EVENTVALIDATION)也是赠品......

答案 4 :(得分:0)

您唯一真正的选择是切换到ASP.NET MVC;否则,任何真正了解ASP.NET的人都会告诉某个地方,或者你将限制你使用的功能,以至于使用ASP.NET没有任何好处。即使没有ViewState,如果您在面板中嵌入了控件,或者使用母版页,控制ID也将是赠品。控件或页面发出的任何特定于MS的JavaScript都将是赠品。每页一致使用单个表单几乎是一种赠品。很多东西都表明了ASP.NET。

为什么这么重要?