我在ASP.NET 3.5和C#中开发了一个Web应用程序。当我部署应用程序时,人们可以看到我正在使用ASP.NET的迹象。如何让所有看到我网站的人都看不到我正在使用ASP.NET?
答案 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>
X-Powered-By
和X-AspNet-Version
有人能想到别人吗?
答案 3 :(得分:1)
您可能还想删除嵌入的资源。页面源中的.axd扩展名是赠品。
编辑: 想到它,隐藏的字段(例如__EVENTVALIDATION)也是赠品......
答案 4 :(得分:0)
您唯一真正的选择是切换到ASP.NET MVC;否则,任何真正了解ASP.NET的人都会告诉某个地方,或者你将限制你使用的功能,以至于使用ASP.NET没有任何好处。即使没有ViewState,如果您在面板中嵌入了控件,或者使用母版页,控制ID也将是赠品。控件或页面发出的任何特定于MS的JavaScript都将是赠品。每页一致使用单个表单几乎是一种赠品。很多东西都表明了ASP.NET。
为什么这么重要?