jsp源码?jspp安卓版下载
其实jsp源码的问题并不复杂,但是又很多的朋友都不太了解jspp安卓版下载,因此呢,今天小编就来为大家分享jsp源码的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
jsp登陆界面源代码
1、login.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*"%>
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form name="loginForm" method="post" action="judgeUser.jsp">
<table>
<tr>
<td>用户名:<input type="text" name="userName" id="userName"></td>
</tr>
<tr>
<td>密码:<input type="password" name="password" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="登录" style="background-color:pink"><input
type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>
2、judge.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*"%>
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>身份验证</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String name= request.getParameter("userName");
String password= request.getParameter("password");
if(name.equals("abc")&& password.equals("123")){
3、afterLogin.jsp文件
%>
<jsp:forward page="afterLogin.jsp">
<jsp:param name="userName" value="<%=name%>"/>
</jsp:forward>
<%
}
else{
%>
<jsp:forward page="login.jsp"/>
<%
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录成功</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String name= request.getParameter("userName");
out.println("欢迎你:"+ name);
%>
</body>
</html>
扩展资料:
java web登录界面源代码:
1、Data_uil.java文件
import java.sql.*;
public class Data_uil
{
public Connection getConnection()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
String user="***";
String password="***";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=***";
Connection con=null;
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public String selectPassword(String username)
{
Connection connection=getConnection();
String sql="select*from login where username=?";
PreparedStatement preparedStatement=null;
ResultSet result=null;
String password=null;
try{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,username);
result=preparedStatement.executeQuery();//可执行的查询
if(result.next())
password=result.getString("password");
}catch(SQLException e){
e.printStackTrace();
}finally
{
close(preparedStatement);
close(result);
close(connection);
}
System.out.println("找到的数据库密码为:"+password);
return password;
}
public void close(Connection con)
{
try{
if(con!=null)
{
con.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(PreparedStatement preparedStatement)
{
try{
if(preparedStatement!=null)
{
preparedStatement.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(ResultSet resultSet)
{
try{
if(resultSet!=null)
{
resultSet.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
}
2、login_check.jsp:文件
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>验证用户密码</title>
</head>
<body>
<jsp:useBean id="util" class="util.Data_uil" scope="page"/>
<%
String username=(String)request.getParameter("username");
String password=(String)request.getParameter("password");
if(username==null||"".equals(username))
{
out.print("<script language='javaScript'> alert('用户名不能为空');</script>");
response.setHeader("refresh","0;url=user_login.jsp");
}
else
{
System.out.println("输入的用户名:"+username);
String passwordInDataBase=util.selectPassword(username);
System.out.println("密码:"+passwordInDataBase);
if(passwordInDataBase==null||"".equals(passwordInDataBase))
{
out.print("<script language='javaScript'> alert('用户名不存在');</script>");
response.setHeader("refresh","0;url=user_login.jsp");
}
else if(passwordInDataBase.equals(password))
{
out.print("<script language='javaScript'> alert('登录成功');</script>");
response.setHeader("refresh","0;url=loginSucces.jsp");
}
else
{
out.print("<script language='javaScript'> alert('密码错误');</script>");
response.setHeader("refresh","0;url=user_login.jsp");
}
}
%>
</body>
</html>
3、loginSucces.jsp文件
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<hr size="10" width="26%" align="left" color="green">
<font size="6" color="red">登录成功</font>
<hr size="10" width="26%" align="left" color="green">
</body>
</html>
4、user_login.jsp文件
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登录界面</title>
</head>
<body background="C:\Users\win8\workspace\Login\image\9dcbdc339e72a5663b5c289fb5573c13_10.jpg">
<center>
<br><br><br><br><br><br>
<h1 style="color:yellow">Login</h1>
<br>
<form name="loginForm" action="login_check.jsp" method="post">
<table Border="0">
<tr>
<td>账号</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password">
</td>
</tr>
</table>
<br>
<input type="submit" value="登录" style="color:#BC8F8F">
</form>
</center>
</body>
</html>
JSP的源代码写在哪
jsp文件是一个可以对页面和java代码都能操作的页面,可以有html标签和java代码嵌套。java文件是你的类文件,只能有java代码,服务器执行jsp文件的时候其实本质是执行的java文件,我们把这种特殊的java文件称作servlet,他具有一定固有的结构。执行过程是这样的首先我们要知道servlet是个什么东西,你可以理解为他是一个java web需要遵守的规范,他其实是一个接口interface,我们常用的tomcat就是一个servlet容器,他实现了servlet这个接口。所以我们的服务器Tomcat处理web请求的时候就是把jsp首先翻译转换成一个servlet文件(后缀是java的文件,只是拥有特定的格式所以叫做servlet),然后服务器执行这个servlet文件,根据servlet里的方法调用其他的java文件,根据不同的需要各种java文件定义各种不同的类和功能,最终servlet执行结束用输出流打印一个htm文件格式输出到页面,浏览器识别这个htm显示出来,所以我们浏览器显示的并不是jsp而是jsp翻译成servlet运行后输出的htm
jsp有哪些漏洞
JSP漏洞大观
Apache泄露重写的任意文件漏洞是怎么回事?
在Apache1.2以及以后的版本中存在一个mod_rewrite模块,它用来指定特殊URLS在网络服务器文件系统上所映射的绝对路径。如果传送一个包含正确表达参数的重写规则,攻击者就可以查看目标主机上的任意文件。
下面举例说明重写规则指令(其中第一行只有是包含漏洞的):
RewriteRule/test/(.*)/usr/local/data/test-stuff/$1
RewriteRule/more-icons/(.*)/icons/$1
RewriteRule/go/(.*) $1
受影响的系统:
1)Apache 1.3.12
2)Apache 1.3.11win32
3)Apache 1.2.x
不受影响系统:Apache 1.3.13
怎样解决在HTTP请求中添加特殊字符导致暴露JSP源代码文件?
Unify eWave ServletExec是一个 Java/Java Servlet引擎插件,主要用于 WEB服务器,例如:Microsoft IIS, Apache, Netscape Enterprise服务器等等。
当一个 HTTP请求中添加下列字符之一,ServletExec将返回 JSP源代码文件。
.
%2E
+
%2B
\
%5C
%20
%00
成功的利用该漏洞将导致泄露指定的JSP文件的源代码,例如:使用下面的任意一个URL请求将输出指定的JSP文件的源代码:
1).
2)
3)
4)
5);
6)
7)
8)
受影响的系统:
1)Unify eWave ServletExec 3.0c
2)Sun Solaris 8.0
3)Microsoft Windows 98
4)Microsoft Windows NT 4.0
5)Microsoft Windows NT 2000
6)Linux kernel 2.3.x
7)IBM AIX 4.3.2
8)HP HP-UX 11.4
解决方案:
如果没有使用任何静态页面或图像,可以配置一个默认的 servlet,并将"/"映射到这个默认的 servlet。这样当收到一个未映射到某个 servlet的 URL时,这个默认的servlet就会被调用。在这种情况下,默认的 servlet可以仅仅返回"未找到文件"。如果使用了静态的页面或图像,仍然可以作这样的配置,但是需要让这个默认的servlet处理对合法的静态页面和图像的请求。
另一种可能就是将*.jsp+、*.jsp.和*.jsp\等映射到一个 servlet,而该servlet只是返回"未找到文件"。对于*.jsp%00和*.jsp%20这样的情况,映射应以未经编码的形式输入。例如,对于*.jsp%20的映射应输入"*.jsp"。注意%20被转换成一个空格字符。
Tomcat有哪些漏洞?
Tomcat 3.1存在暴露网站路径问题
Tomcat 3.1是在 Apache软件环境下开发的一个支持 JSP 1.1和 Servlets 2.2的软件。它存在一个安全问题当发送一个不存在的 jsp请求时会暴露网站上网页的全路径。
举例:
结果显示:
Error: 404
Location:/anything.jsp
JSP file"/appsrv2/jakarta-tomcat/webapps/ROOT/anything.jsp" not found
解决方案:升级到新版本
Tomcat暴露JSP文件内容
Java Server Pages(JSP)类型的文件是以'.jsp'扩展名在Tomcat上注册,Tomcat是文件名大小写敏感的,'.jsp'和'.JSP'是不同类型的文件扩展名。如果提交有'.JSP'的链接给Tomcat,而Tomcat找不到'.JSP'就会以默认的'.text'文件类型来响应请求。因为在NT系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。
如果在UNIX服务器上会出现"file not found"的错误信息。
如何在windows下对Tomcat实施代码保护
Tomcat的一些版本有泄露源代码的漏洞,如果在浏览器中调用JSP页面时将该文件的后缀改成大写,这个JSP文件的源代码将完全输出到浏览器中(也许浏览器窗口中什么都没有,这时你只需查看HTML源文件就可以发现)。如此一来,网站的源代码是不是都会暴露在互联网上那?
不用担心,解决方法很简单,把各种后缀的组合全部写到Tomcat_Home\conf\web.xml里就可以了,这样Tomcat会将不同后缀名的JSP分开对待,就不会泄露代码了。
jsp
*.jsp
jsP
*.jsP
?lt;servlet-name> jSp
*.jSp
jSP
*.jSP
Jsp
*.Jsp
JsP
*.JsP
JSp
*.JSp
JSP
*.JSP
Allair Jrun漏洞有哪些漏洞?
Allair JRUN非法读取 WEB-INF漏洞
在Allaire的 JRUN服务器 2.3版本中存在一个严重的安全漏洞。它允许一个攻击者在 JRun 3.0服务器中查看 WEB-INF目录。
如果用户在提交 URL请求时在,通过附加一个"/"使该 URL成为畸形的 URL,这时 WEB-INF下的所有子目录将会暴露出来。攻击者巧妙的利用该漏洞将能够远程获得目标主机系统中 WEB-INF目录下的所有文件的读取权限。
例如使用下面这个 URL将会暴露 WEB-INF下的所有文件:
受影响的系统:Allaire JRun 3.0
解决方案:下载并安装补丁:
Allaire patch jr233p_ASB00_28_29
Windows 95/98/NT/2000 and Windows NT Alpha
Allaire patch jr233p_ASB00_28_29tar
UNIX/Linux patch- GNU gzip/tar
Allaire JRUN 2.3查看任意文件漏洞
Allaire的 JRUN服务器 2.3上存在多重显示代码漏洞。该漏洞允许攻击者在 WEB服务器上查看根目录下的任意文件的源代码。
JRun 2.3使用 Java Servlets解析各种各样类型的页面(例如:HTML, JSP等等)。基于rules.properties和 servlets.properties的文件设置,可能利用URL前缀"/servlet/"调用任何servlet。
它可能使用 Jrun的 SSIFilter servlet在目标系统上检索任意的文件。下列 2个例子显示出能被用来检索任意的文件的 URLs:
est.jsp
注意:假设JRun在主机" jrun"上运行,端口8000。
受影响的系统:Allaire JRun 2.3.x
解决方案:下载并安装补丁:
Allaire patch jr233p_ASB00_28_29
Windows 95/98/NT/2000 and Windows NT Alpha
Allaire patch jr233p_ASB00_28_29tar
UNIX/Linux patch- GNU gzip/tar Allaire JRUN 2.3远程执行任意命令漏洞
Allaire的 JRUN服务器 2.3上存在一个安全漏洞,允许远程用户把在 WEB服务器上的任意文件作为JSP代码编译/执行。如果URL请求的目标文件使用了前缀"/servlet/",则JSP解释执行功能被激活。这时在用户请求的目标文件路径中使用"../",就有可能访问到 WEB服务器上根目录以外的文件。在目标主机上利用该漏洞请求用户输入产生的一个文件,将严重威胁到目标主机系统的安全。
例如:
受影响的系统:Allaire JRun 2.3.x
解决方案:下载并安装补丁:
Allaire patch jr233p_ASB00_28_29
Windows 95/98/NT/2000 and Windows NT Alpha
Allaire patch jr233p_ASB00_28_29tar
UNIX/Linux patch- GNU gzip/tar
JRun 2.3.x范例文件暴露站点安全信息
JRun 2.3.x在 JRUN_HOME/servlets目录下有一些 servlet范例文件,这个目录是 JRun 2.3.x用于加载和执行 servlets文件。所有扩展名为".Java"或"class"的文件必须被删除,这是因为这些文件会暴露站点的安全信息。例如:
会暴露当前服务器保持的HTTP连接信息。JRUN_HOME/jsm-default/services/jws/htdocs目录下的内容也应被删除掉。这个目录保存有演示服务器功能的'.jsp'文件,其中一些文件牵涉到访问服务器文件系统和暴露服务器设置的问题。例如对文件"viewsource.jsp"的路径检查是默认关闭的,它可被用于访问服务器文件系统。
解决方案:
1)安装 2.3.3 service pack
2)从服务器上删除所有的说明文档、演示编码、范例和教材,包括安装 JRun 2.3.x时存放于 JRUN_HOME/servlets目录和JRUN_HOME/jsm-default/services/jws/htdocs目录里的文档。
相关站点:
IBM WebSphere Application Server有哪些漏洞?
1、IBM WebSphere Application Server 3.0.2存在暴露源代码漏洞
IBM WebSphere Application Server允许攻击者查看 Web server根目录以上的所有文件。IBM WebSphere使用 Java Servlets处理多种页面类型的分析(如 HTML, JSP, JHTML,等等)。In addition不同的 servlets对不同的页面进行处理,如果一个请求的文件是未进行注册管理的,WebSphere会使用一个默认的 servlet作调用。如果文件路径以"/servlet/file/"作开头这个默认的 servlet会被调用这个请求的文件会未被分析或编译就显示出来。
受影响系统:IBM WebSphere 3.0.2的所有版本
举例:
如果一个请求文件的 URL为"login.jsp":: 那么访问 将看到这个文件的源代码。
解决方案:下载并安装补丁
相关站点:
IBM WebSphere Application Server暴露JSP文件内容
Java Server Pages(JSP)类型的文件是以'.jsp'扩展名在WebSphere Application Serve上注册,WebSphere是文件名大小写敏感的,'.jsp'和'.JSP'是不同类型的文件扩展名。如果提交有'.JSP'的链接给WebSphere,而WebSphere找不到'.JSP'就会以默认的'.text'文件类型来响应请求。因为在NT系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。
如果在UNIX服务器上会出现"file not found"的错误信息。
解决方案:点击此处下载补丁
相关站点:
BEA WebLogic有哪些暴露源代码漏洞?
受影响版本:
所有系统上的
BEA WebLogic Enterprise 5.1.x
BEA WebLogic Server and Express 5.1.x
BEA WebLogic Server and Express 4.5.x
BEA WebLogic Server and Express 4.0.x
BEA WebLogic Server and Express 3.1.8
这个漏洞使攻击者能读取 Web目录下所有文件的源代码。
WebLogic依赖四个主要 Java Servlets to服务不同类型的文件。这些 servlets是:
1)FileServlet- for简单 HTML页面
2)SSIServlet- for Server Side Includes页面
3)PageCompileServlet- for JHTML页面
4)JSPServlet- for Java Server页面
看着weblogic.properties文件,这儿是各个 servlets的注册值:
1)weblogic.httpd.register.file=weblogic.servlet.FileServlet
2)weblogic.httpd.register.*.shtml=weblogic.servlet.ServerSideIncludeServlet
3)weblogic.httpd.register.*.jhtml=weblogic.servlet.jhtmlc.PageCompileServlet
4)weblogic.httpd.register.*.jsp=weblogic.servlet.JSPServlet
更多的 weblogic.properties文件,如果一个请求文件是没有注册管理的,那么就会调用一个默认的 servlet。以下是展示默认的 servlet是如何注册的。
# Default servlet registration
#------------------------------------------------
# Virtual name of the default servlet if no matching servlet
# is found weblogic.httpd.defaultServlet=file
因此如果 URL中的文件路径开头为"/file/",将会引致 WebLogic调用默认的 servlet,那将会使网页未加分析和编译而直接显示。
论证:
只要在想看的文件原来的 URL路径之前加入"/file/"就会让文件未经分析和编译,直接暴露源代码。如:,那么只要访问 就会在 WEB浏览器里看到文件的内容。
以下是使用方法:
1.通过强制使用 SSIServlet查看未分析的页面:
服务器站点通过 WebLogic中的 SSIServlet处理页面,它在weblogic.properties文件中注册以下信息:weblogic.httpd.register.*.shtml= weblogic.servlet.ServerSideIncludeServlet
通过 URL使用 SSIServlet自动处理通配符(*)。因此如果文件路径开头为/*.shtml/,将强制文件由 SSIServlet处理。如果使用其它文件类型如.jsp和.jhtml,就能查看未分析的 jsp和 jhtml代码。举例:*.shtml/login.jsp
2.通过强制使用 FileServlet查看未分析的页面:
WebLogic使用 FileServlet配置 ConsoleHelp servlet,在weblogic.properties文件的以下内容可得知:
# For Console help. Do not modify.
weblogic.httpd.register.ConsoleHelp= weblogic.servlet.FileServlet
weblogic.httpd.initArgs.ConsoleHelp=\defaultFilename=/weblogic/admin/help/NoContent.html
weblogic.allow.execute.weblogic.servlet.ConsoleHelp=everyone
因此如果文件路径以/ConsoleHelp/开头将导致 WebLogic使用 FileServlet,使未分析或编译的文件作页面显示出来,举例:
解决方案:
不要使用示例中的设置方法设置 FileServlet。这可能会让你的 JSP/JHTML文件的源代码暴露出来。请查看在线文档:
示例的 registrations如下:
weblogic.httpd.register.file=weblogic.servlet.FileServlet
weblogic.httpd.initArgs.file=defaultFilename=index.html
weblogic.httpd.defaultServlet=file
有两种方法可以避免这个问题:
(1)注册那些文件 servlet使用随机用户名,加大猜测难度。例如使用象这样注册文件 servlet为 12foo34:
weblogic.httpd.register.12foo34=weblogic.servlet.FileServlet
weblogic.httpd.initArgs.12foo34=defaultFilename=index.html
weblogic.httpd.defaultServlet=12foo34
(2)注册文件 servlet使用 wild cards声明你将使用所有这些文件扩展名作服务。举例注册文件 servlet为.html文件服务:
weblogic.httpd.register.*.html=weblogic.servlet.FileServlet
weblogic.httpd.initArgs.*.html=defaultFilename=index.html
weblogic.httpd.defaultServlet=*.html
使用上面的方法重复加入以下类型的文件*.gif,*.jpg,*.pdf,*.txt, etc.
注意:这些信息是备有证明在 BEA WebLogic Server and Express说明档的:
另:请留意新版本并升级吧。
OK,本文到此结束,希望对大家有所帮助。