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 --- WebContent/LoginForm.jsp | 16 +++++ src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java | 84 ++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 WebContent/LoginForm.jsp create mode 100644 src/de/fhswf/in/inf/fit/aufgabe3/LoginServlet.java diff --git a/WebContent/LoginForm.jsp b/WebContent/LoginForm.jsp new file mode 100644 index 0000000..ec3f7a9 --- /dev/null +++ b/WebContent/LoginForm.jsp @@ -0,0 +1,16 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + +Login + + +
+
+
+ +
+ + \ No newline at end of file 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