ソースを参照

Create proccess.java

Deben Oldert 11 年 前
コミット
cd33c78683
1 ファイル変更111 行追加0 行削除
  1. 111 0
      captiveportal/proccess.java

+ 111 - 0
captiveportal/proccess.java

@@ -0,0 +1,111 @@
+/* 	This is the proccessing page of the captive portal.
+*	Copy right: Deben Oldert
+*	Here classes are called to check and update database query's and to configure iptables.
+*	Called classe are: {Database, Command}
+*/
+package captiveportal;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Servlet implementation class proccess
+ */
+@WebServlet("/proccess")
+public class proccess extends HttpServlet {
+	private static final long serialVersionUID = 1L;
+       
+    /**
+     * @see HttpServlet#HttpServlet()
+     */
+    public proccess() {
+        super();
+        // TODO Auto-generated constructor stub
+    }
+    
+	/**
+	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+	 */
+	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		// Set the MIME type for the page
+	      response.setContentType("text/html");
+	      PrintWriter out = response.getWriter();
+		// Send user back to login form
+	      try {
+	    	  out.println("<script>window.location.replace('http://corendon.nl/Captive%20Portal');</script>");
+	      	} finally {
+	      		out.close();  // Close the output writer
+	      	}
+	}
+	/**
+	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+	 */
+	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		 // Set the MIME type for the page
+	      response.setContentType("text/html");
+	      // Define variables
+	      //#####################################
+	      String ticket = request.getParameter("ticket");
+	      String lastName = request.getParameter("lastname");
+	      int exitCode = 1;
+	      String javaReturn0 = "<script>setTimeout(function(){window.location.replace('http://corendon.nl')},10000);</script>";
+	      String javaReturnErrorS = "<script>window.location.replace('http://corendon.nl/Captive_Portal/?err=";
+	      String javaReturnErrorE = "');</script>";
+	      //#####################################
+	      PrintWriter out = response.getWriter();
+	      Database SQL = new Database();
+	      Command CMD = new Command();
+
+	      try {
+			if(SQL.Select(ticket, lastName)) {
+				  if(SQL.Update(ticket, lastName)) {
+					  if(CMD.Grand(request.getRemoteAddr())) {
+						  exitCode = 0;
+					  }
+					  else {
+						  if(SQL.Reset(ticket, lastName)) {
+							  exitCode = 2;
+						  }
+						  else {
+							  exitCode = 3;
+						  }
+					  }
+				  
+				  }
+				  else {
+					  exitCode = 2;
+				  }
+			  }
+			else {
+				exitCode = 1;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			exitCode = 4;
+		}
+	    switch (exitCode) {
+	    case 0:
+	    	out.println(javaReturn0);
+	    	break;
+	    case 1:
+	    	out.println(javaReturnErrorS+exitCode+javaReturnErrorE);
+	    	break;
+	    case 2:
+	    	out.println(javaReturnErrorS+exitCode+javaReturnErrorE);
+	    	break;
+	    case 3:
+	    	out.println(javaReturnErrorS+exitCode+javaReturnErrorE);
+	    	break;
+	    case 4:
+	    	out.println(javaReturnErrorS+exitCode+javaReturnErrorE);
+	    	break;
+	    }
+	}
+
+}