所以,如果你正在使用Java和JSP编写一个网站,并且不希望用户知道你写了什么语言,你会用什么技术?我可以使用什么策略来阻止用户发现网站编写的语言?
回答
如果您正在使用某种框架,比如Struts2,那么您将拥有一个映射到调度程序servlet的扩展名(* .action或任何您选择的)。调度程序将请求“转发”到WEB-INF目录中的JSP。用户只能看到定向到servlet的URL,并取回HTML。他们无法分辨模板语言是什么。既然你可以选择任何你喜欢的servlet映射,你可以制作一些东西,甚至可以用诸如“.php”或“.asp”之类的东西来误导它们。
当然,您可能在Web应用程序目录中有一些JSP,而不是在WEB-INF中。您可以给这些不同的扩展名,并告诉容器将它们作为JSP进行处理,方法是创建一个带有url-pattern
元素的<jsp-property-group>
,该元素指定web.xml中的假扩展名。
您还需要检查容器的文档以确定如何隐藏可能发送的任何服务器版本信息。另一个要探讨的是如何将会话cookie名称更改为“jsessionid”以外的内容。这有点让人失望,但它是Servlet规范的一部分,有些容器不支持更改它。
+1。使用Spring MVC,通常控制器映射为“.htm” - 因此没有实现特定的扩展 – 2009-04-19 01:08:01
我会做的唯一的事情是如何将请求传递给没有扩展名的页面(jsp,aspx,asp等)。这可以通过手动解析请求url来完成。此外,重新配置您的服务器以隐藏它的详细信息。
你可以用mod_rewrite来帮忙吗? – 2009-04-19 01:05:02
随着其他答案在这里,你会想确保你正确地处理你的应用程序错误。如果你让一个异常出来,Web容器处理它,这将是非常明显的你正在使用。
1)制作你自己的文件扩展名并配置你的服务器,将它映射到你选择的处理程序。例如重新映射。调用ASP.NET处理程序或PHP处理程序。
2)确保您使用的任何处理程序都不会将标题放入以表明它是什么,就像大多数人一样。如果是这样,请将其配置为不要,或者将其前面的内容放在堆栈中以在传输之前删除这些标头。
您还需要检查应用程序发回的HTTP响应标头。通常,在响应头文件中找到为应用程序提供动力的技术是微不足道的。
在Apache的配置文件,下面的线使其认识到.PHP的PHP脚本并执行它是这样:
AddHandler php5-script .php
其更改为.asp和Apache会认识到.asp文件作为PHP脚本。将它改为.blarg,并且Apache会将.blarg文件识别为PHP脚本。
- 1. 我可以使用什么编程语言将其实现到我的网站?
- 2. FILO使用Java语言编写的策略
- 3. 我会用什么编译器来编写机器语言?
- 4. 什么可以阻止我的BufferedLogger写出来?
- 5. 我可以使用什么来分析我的50+网站?
- 6. Picasa使用什么语言编写?
- 7. 使用什么语言编写Go编程语言?
- 8. 我怎么可以用汇编语言
- 9. 什么阻止我的网站在我的网站? HTML,CSS
- 10. 我可以在我的网站上使用什么来实现电报信息?
- 11. 使用delphi来阻止网站
- 12. RabbitMQ用什么语言编写的?
- 13. Xcode是用什么语言编写的?
- 14. 现代Unix工具是用什么编程语言编写的?
- 15. 什么语言可以用来自动化网络测试?
- 16. Rest Assured可以使用什么语言
- 17. 使用ASP.Net实现多语言网站
- 18. 我的网站用户可以发现这个webaddress吗?
- 19. 使用什么技术和编程语言来制作本网站?
- 20. 网站使用的语言
- 21. 使用Java阻止网站
- 22. Facebook dispatcher.js用什么语言编写?
- 23. 应该用什么语言编写API?
- 24. 用什么语言编写.NET Framework?
- 25. 什么语言被用来编写Rust编译器?
- 26. 实现MixedParamUrlCodingStrategy可以防止我的网站使用CSS
- 27. 可以用相同的语言L来实现语言L的编译器吗?
- 28. 在高流量网站中动态阻止IP:最佳策略?
- 29. 我可以使用webmatrix发布网站
- 30. 什么语言可以编译为javascript?
我的第一个问题是,为什么? :)为了安全起见,混淆通常是一种错误的安全感,但大多数情况下我只是好奇而已。 – Anthony 2009-04-19 00:55:55
确实。何必? – ceejayoz 2009-04-19 02:11:37