讨论有关JSP安全问题!(高分,不够再开贴给分)
我前两天一直在思考这样一个问题:用JSP语言来写关于数据库方面的东东的时候,我们会在源码中写入一些调用DB的语句,如:
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/DBname?"
+"user=username&password=pass&useUnicode=true&characterEncoding=gb2312");
那么我就在想,如果可以得到么网站的源代码的话,那我们不是可以轻而易举的去访问其DB了?
于是我找了一个用JSP实现的网站,然后用FLASHGET来下载这个源文件,如
http://www.cnjsp.org/view.jsp
当我在FLASHGET下载的时候,得到的却是一个Error.jsp(我将这个文件的源码附贴在下面)。
我也尝试过用offline explorer这样的工具还下载整站的代码,当然得到的也只是几个HTML文件和图片文件,还有error.jsp文件。
问题:
1、CNJSP网站用的JSP平台是什么?是TOMCAT还是WEBLOGIC之类?它们是不是都具有这样的保护功能?谁能帮我解释一下或者是给我一些关于这种功能的实现技术或资料?
2、如果这样的技术是由于我的误解,那么有什么办法来下载某JSP实现的网站的整站源码?又有什么办法来保护源码不被别人下载?
3、JSP如何来保护数据及DB的安全?
声明:请大家不要随便去攻击某一站点,我这里只是为了讨论安全技术,由此贴引起的对CNJSP网站的一切其他后果,本人概不负责。
附:
Error.jsp源码(好像也就是一个HTML页面):
<HTML><HEAD><TITLE>CnJSP - 中国JSP技术网站</TITLE>
<META content="text/html; charset=GBK" http-equiv=Content-Type><LINK
href="/cnjsporg.css" rel=stylesheet type=text/css>
<META content="MSHTML 5.00.3700.6699" name=GENERATOR></HEAD>
<BODY bgColor=white text=black><A name=top>
<TABLE border=0 cellPadding=0 cellSpacing=0 class=masthead width="100%">
<TBODY>
<TR>
<TD align=left><A href="/">CnJSP.org</A> </TD>
<TD align=right><A
href="http://www.cnjsp.com">Service</A> <SPAN
class=mark>:::</SPAN><A
href="http://www.cnjsp.org/cnjbb/">Forum</A> <SPAN
class=mark>:::</SPAN> <A
href="/search/">Search</A> <SPAN
class=mark>:::</SPAN> <A
href="/daily/"><B>daily
Java-URL!</B></A> </TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD vAlign=top width=120>
<DIV class=browser><!-- site.makebrowser -->
<TABLE border=0 cellPadding=2 cellSpacing=0 class=browser width=140>
<TBODY>
<TR>
<TD class=browser colSpan=4 nowrap><A
href="/">Home | 首页</A></TD></TR>
<TR>
<TD class=browser colSpan=4 nowrap><A
href="/news">Java News | 新闻</A></TD></TR>
<TR>
<TD class=browser colSpan=4 nowrap><B><A
href="/document">Documents | 文档</A></B></TD></TR>
<TR>
<TD class=browser colSpan=4 nowrap><A
href="/code">Source Code | 代码</A></TD></TR>
<TR>
<TD class=browser colSpan=4 nowrap><A
href="/download">Downloads | 下载</A></TD></TR>
<TR>
<TD class=browser colSpan=4 nowrap><A
href="/aboutus">About Us | 关于我们</A></TD></TR>
<TR>
<TD class=browser colSpan=4 nowrap><A
href="/search">Search | 搜索</A></TD></TR>
</TBODY></TABLE></DIV></TD>
<TD width=10> </TD>
<TD class=grid width=2><IMG alt="" border=0
src="images/blank.gif"></TD>
<TD width=10> </TD>
<TD vAlign=top>
<H1 class=title>Error</H1>
<DIV class=pad>
您要查看的信息没找到!
</DIV></TD></TR></TBODY></TABLE>
<hr align="center" color="#3399ff" width="100%" >
<table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#FFFFFF" align="center">
<tr><td height="20"></td></tr>
<tr><td height="18" align="center">
<font face="宋体"><a class="f" href="/aboutus/">网站简介</a> | <a class="f" href="#">用户注册</a> | <a class="f" href="/adservices.jsp">广告服务</a> | <a class="f" href="JavaScript:vhost()">虚拟主机</a> | <a class="f" href="mailto:webmaster@cnjsp.com">站务联系</a> | <a class="f" href="/siteguide.jsp">站点导航</a> | <a class="f" href="/nolaw.jsp">免责申明</a> | <a class="f" href="/friend.jsp">合作链接</a></font></td></tr>
<tr><td colspan="3" align="center">
<table border="0" align="center" class="9pt">
<tr><td align="right" rowspan="2"><img src="/images/logo.gif" border="0"></td>
<td height="18"><font face="verdana, arial, helvetica">Copyright © 2000 - 2003 CnJSP, All Rights Reserved</font></td></tr>
<tr><td height="18"><font face="宋体">版权所有 <a class="f" href="http://www.cnjsp.org">中国JSP技术网站</a></font></td></tr>
</td></tr></table>
<!--<tr><td align="center">
<br>
<a href="http://www.cnjsp.org" title="中国JSP技术网站... http://www.cnjsp.org"><img border="0" src="/images/logo.jpg" height="60"></a>
<br><br>
</td></tr>-->
</table>
</BODY></HTML>
<Script language="JavaScript">
function vhost() {
window.open("/vhost.html","vhost","toolbar=0,scrollbars=0,resizable=0,top=20px,left=50px,width=480px,height=500px");
}
</Script>