我已经在ASP.NET 3.5和C#中开发了一个Web应用程序。当我部署应用程序时,人们可以看到我正在使用ASP.NET的警告标志。我该如何做到这一点,以便任何看到我的网站的人都看不到我在使用ASP.NET?隐藏我的网站建立在ASP.NET中的事实
回答
由于ASP.NET的本质,任何动态构建的控件都将显示为$Ctrl
。如果您使用ViewState,则会显示。如果您使用ASP.NET事件验证,则会显示。如果你不想让它出现,你所能做的就是使用另一个框架(ASP.NET MVC),或者不使用ASP.NET的任何这些功能(如果你愿意的话,这会很愚蠢)使用ASP.NET)。
如果您的网页后缀为.aspx
,那么每个人都会知道您正在使用ASP.NET。你在使用URL重写吗?
似乎禁用视图状态将适用于我,在这种情况下,我错过了3.5中的asp.net 4.0,我相信我必须禁用整个页面的viewstate而不是特定的控件。 我正确吗? – Zerotoinfinity 2010-06-03 13:05:47
是的;您必须禁用页面的视图状态。 http://www.ironspeed.com/articles/Disable%20View%20State%20for%20a%20Page/Article.aspx – 2010-06-03 13:12:02
我会建议:
- 使用URL重写来改变或不使用视图状态删除的页面扩展
- 。
您可能还建议从返回的HTTP头中删除IIS或.NET的任何指示。 – 2010-06-03 13:25:23
定义指示符号?不看源代码,唯一明显的方法就是.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-By
和X-AspNet-Version
任何人都可以想到别人吗?
你唯一真正的选择是切换到ASP.NET MVC;否则,会告诉某个地方任何真正了解ASP.NET的人,或者您将限制您使用的功能,以至于在使用ASP.NET时没有任何好处。即使没有ViewState,如果控件嵌入在面板中,或者使用母版页,控件ID也是可以使用的。任何由控件或页面发出的特定于MS的JavaScript都将被放弃。每页一致地使用单个表单几乎是一种放弃。许多事情都表明ASP.NET。
为什么这很重要?
您可能还想要删除嵌入的资源。页面源代码中的.axd扩展是一个赠送。
编辑: 来到想起来,隐藏字段(前__EVENTVALIDATION)是赠送品太...
- 1. 在ASP.NET网站中隐藏页面URL
- 2. ASP.NET隐藏网站(以URL)
- 3. 隐藏URL在我的网站
- 4. 建立一个ASP.NET网站
- 5. 在网站中隐藏wordpress
- 6. 如何在网站上隐藏我的网站端口号url
- 7. 我如何隐藏/ magento /在我的网站的网址?
- 8. 隐藏层使我的网站太久
- 9. 隐藏网站的URL我从
- 10. 在我的asp.net网站实现DotNetOpenid
- 11. 如何隐藏我的网页是否有图片的事实?
- 12. 有人可以查看我的网站在ASP.Net中看到代码隐藏吗?
- 13. asp.net网址隐藏?
- 14. 隐藏我的应用程序在我的网站
- 15. 我如何隐藏iframe中网站的网址?
- 16. 单击asp.net网站中的按钮时隐藏文本框
- 17. 如何在android webview中隐藏我的网站标题?
- 18. 如何在SharePoint 2007中隐藏我的网站链接?
- 19. 如何隐藏网站的网址
- 20. 在URL中隐藏网站文件名
- 21. 建立网站的申请
- 22. 关于建立拍卖网站的ASP.NET和PHP的建议
- 23. 我可以隐藏我们的地址栏网址在asp.net
- 24. 隐藏*网站访问者
- 25. 为什么我的一些网页隐藏在我的网站菜单
- 26. 我们如何更新我们在ASP.NET中创建的网站?
- 27. 在管理网站中创建隐藏字段
- 28. 如何隐藏我网站的完整网址?
- 29. 如何隐藏我网站的网页来源?
- 30. 使用.net 3.5加密或隐藏Asp.net网站上的QueryString
出于兴趣,你为什么要这么做? – 2010-06-03 13:27:16
出于好奇 - 为什么要隐藏技术栈? – 2010-06-03 13:27:27
我能想到的唯一理由就是通过默默无闻的理由来实现安全。即使所有标识已成功从响应头文件,文件扩展名和页面中删除,也可能通过测试其对各种请求的响应(例如,asp.net请求限制大小)来确定它是否为asp.net。 – 2010-06-03 13:33:13