From e48415bce9429daf7bd84d546c4b9d013f11f576 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Sun, 25 Oct 2015 18:24:33 +0100 Subject: Implement basic login form --- src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java (limited to 'src/de/fhswf/in/inf/fit') diff --git a/src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java b/src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java new file mode 100644 index 0000000..158dc49 --- /dev/null +++ b/src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java @@ -0,0 +1,84 @@ +package de.fhswf.in.inf.fit.aufgabe3; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebInitParam; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * Servlet implementation class LoginServlet + */ +@WebServlet(urlPatterns = { "/LoginServlet" }, initParams = { + @WebInitParam(name = "username", value = "admin"), + @WebInitParam(name = "password", value = "12345") }) +public class LoginServlet extends HttpServlet +{ + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public LoginServlet() + { + super(); + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException + { + response.sendRedirect("LoginForm.jsp"); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException + { + String validUsername = getInitParameter("username"); + String validPassword = getInitParameter("password"); + + String requestUsername = request.getParameter("username"); + String requestPassword = request.getParameter("password"); + + if (requestUsername == null || requestPassword == null) + { + doGet(request, response); + } + + PrintWriter pw = response.getWriter(); + + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println("Login Answer"); + pw.println(""); + pw.println(""); + + // This is very insecure and can be exploited via timing attacks + if (requestUsername.equals(validUsername) + && requestPassword.equals(validPassword)) + { + pw.println("

Success

"); + } + else + { + pw.println("

Failed

"); + pw.println("Retry"); + } + + pw.println(""); + pw.println(""); + } +} -- cgit v1.2.3-70-g09d2