aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcirakg <ciraboxkg@gmail.com>2023-01-04 17:29:50 +0100
committercirakg <ciraboxkg@gmail.com>2023-01-04 17:29:50 +0100
commitb0cf9f4b0c4eece41cb5e3542ab8c54f6dd3d32e (patch)
tree46508479c272d4b10b3febad3accf8a0d3b43b60
parentcd694d64cf1a9be635df6b15168a5950644e5ce2 (diff)
Dodate provere za unos.
-rw-r--r--src/main/java/pokemon/RegexHelper.java20
-rw-r--r--src/main/java/ui/GamePanel.java5
-rw-r--r--src/main/java/ui/LoginPanel.java11
-rw-r--r--src/main/webapp/index.jsp4
-rw-r--r--src/main/webapp/pages/addNewPokemon.jsp34
-rw-r--r--src/main/webapp/pages/addNewPokemonHelper.jsp2
-rw-r--r--src/main/webapp/pages/adminIndex.jsp8
-rw-r--r--src/main/webapp/pages/register.jsp19
-rw-r--r--src/main/webapp/pages/registerAdmin.jsp17
-rw-r--r--src/main/webapp/pages/registerPage.jsp8
10 files changed, 94 insertions, 34 deletions
diff --git a/src/main/java/pokemon/RegexHelper.java b/src/main/java/pokemon/RegexHelper.java
new file mode 100644
index 0000000..1253499
--- /dev/null
+++ b/src/main/java/pokemon/RegexHelper.java
@@ -0,0 +1,20 @@
+package pokemon;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import com.mysql.cj.jdbc.exceptions.PacketTooBigException;
+
+public class RegexHelper {
+ public static boolean checkAlphaNumericInput(String str) {
+ Pattern pattern=Pattern.compile("^[A-Za-z0-9]{1,}$",Pattern.CASE_INSENSITIVE);
+ Matcher matcher=pattern.matcher(str);
+ return matcher.find();
+ }
+ public static boolean checkChatInput(String str) {
+ Pattern pattern=Pattern.compile(":",Pattern.CASE_INSENSITIVE);
+ Matcher matcher=pattern.matcher(str);
+ return !matcher.find();
+ }
+
+}
diff --git a/src/main/java/ui/GamePanel.java b/src/main/java/ui/GamePanel.java
index beeeb11..599e3c9 100644
--- a/src/main/java/ui/GamePanel.java
+++ b/src/main/java/ui/GamePanel.java
@@ -27,6 +27,7 @@ import models.AbilityType;
import models.GameStatus;
import models.MonsterViewModel;
import models.User;
+import pokemon.RegexHelper;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
@@ -187,6 +188,10 @@ public class GamePanel extends JPanel {
}
public void sendChat() {
String message=textFieldChat.getText();
+ if(!RegexHelper.checkChatInput(message)) {
+ return;
+
+ }
MainFrame topFrame=(MainFrame) SwingUtilities.getAncestorOfClass(MainFrame.class, GamePanel.this);
String sendMessage="CHATMESSAGE:"+opponentId+":"+message;
ByteBuffer bb=ByteBuffer.wrap(sendMessage.getBytes());
diff --git a/src/main/java/ui/LoginPanel.java b/src/main/java/ui/LoginPanel.java
index bfd47f9..06a9099 100644
--- a/src/main/java/ui/LoginPanel.java
+++ b/src/main/java/ui/LoginPanel.java
@@ -4,6 +4,9 @@ import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
+
+import pokemon.RegexHelper;
+
import javax.swing.JTextArea;
import java.awt.SystemColor;
import java.awt.Font;
@@ -81,6 +84,14 @@ public class LoginPanel extends JPanel {
warningTextArea.setText("Morate uneti login informacije");
return;
}
+ if(!RegexHelper.checkAlphaNumericInput(username)) {
+ warningTextArea.setText("Username mora sadrzati alfanumericke karaktere");
+ return;
+ }
+ if(!RegexHelper.checkAlphaNumericInput(password)) {
+ warningTextArea.setText("Password mora sadrzati alfanumericke karaktere");
+ return;
+ }
String loginMsg="LOGIN:"+username+":"+password;
ByteBuffer bbLogin=ByteBuffer.wrap(loginMsg.getBytes());
MainFrame topFrame=(MainFrame) SwingUtilities.getAncestorOfClass(MainFrame.class, LoginPanel.this);
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
index 8be1d49..d182b7e 100644
--- a/src/main/webapp/index.jsp
+++ b/src/main/webapp/index.jsp
@@ -17,9 +17,9 @@
<h1>Login</h1>
<form method="post" action="pages/login.jsp">
- <input type="text" name="username"> Korisnicko ime
+ <input type="text" name="username" required> Korisnicko ime
<br>
- <input type="password" name="password">Sifra
+ <input type="password" name="password" required>Sifra
<br>
<p style="color:red;">
<%
diff --git a/src/main/webapp/pages/addNewPokemon.jsp b/src/main/webapp/pages/addNewPokemon.jsp
index e6f03af..095ac40 100644
--- a/src/main/webapp/pages/addNewPokemon.jsp
+++ b/src/main/webapp/pages/addNewPokemon.jsp
@@ -16,32 +16,32 @@ if(!isAdmin){
<form method="post" action="addNewPokemonHelper.jsp">
-<input type="text" name="name"> Ime <br>
-<input type="text" name="description"> Opis <br>
-<input type="text" name="hp"> Hp <br>
-<input type="text" name="base64Image"> ImageString64 <br>
+<input type="text" name="name" required> Ime <br>
+<input type="text" name="description" required> Opis <br>
+<input type="number" step="1" name="hp" required> Hp <br>
+<input type="text" name="base64Image" required> ImageString64 <br>
<h2>Abilities</h2>
<h3>ATTACK</h3>
-<input type="text" name="abilitiesName"> Ime <br>
-<input type="text" name="abilitiesDesc"> Opis <br>
-<input type="hidden" name="abilitiesType" value="0">
-<input type="text" name="abilitiesPower"> Snaga <br>
+<input type="text" name="abilitiesName" required> Ime <br>
+<input type="text" name="abilitiesDesc" required> Opis <br>
+<input type="hidden" name="abilitiesType" value="0" >
+<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br>
<h3>SPECIAL</h3>
-<input type="text" name="abilitiesName"> Ime <br>
-<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="text" name="abilitiesName" required> Ime <br>
+<input type="text" name="abilitiesDesc" required> Opis <br>
<input type="hidden" name="abilitiesType" value="1">
-<input type="text" name="abilitiesPower"> Snaga <br>
+<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br>
<h3>HEAL</h3>
-<input type="text" name="abilitiesName"> Ime <br>
-<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="text" name="abilitiesName" required> Ime <br>
+<input type="text" name="abilitiesDesc" required> Opis <br>
<input type="hidden" name="abilitiesType" value="2">
-<input type="text" name="abilitiesPower"> Snaga <br>
+<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br>
<h3>SHIELD</h3>
-<input type="text" name="abilitiesName"> Ime <br>
-<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="text" name="abilitiesName" required> Ime <br>
+<input type="text" name="abilitiesDesc" required> Opis <br>
<input type="hidden" name="abilitiesType" value="3">
-<input type="text" name="abilitiesPower"> Snaga <br>
+<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br>
<button type="submit">Dodaj</button>
diff --git a/src/main/webapp/pages/addNewPokemonHelper.jsp b/src/main/webapp/pages/addNewPokemonHelper.jsp
index 938d70b..de5b474 100644
--- a/src/main/webapp/pages/addNewPokemonHelper.jsp
+++ b/src/main/webapp/pages/addNewPokemonHelper.jsp
@@ -29,7 +29,7 @@ for (int i = 0; i < 4; i++) {
tempA.setDescription(desc.get(i));
int tempType=Integer.parseInt(type.get(i));
tempA.setType(AbilityType.values()[tempType]);
- int tempPower=Integer.parseInt(power.get(i));
+ float tempPower=Float.valueOf(power.get(i));
tempA.setPower(tempPower);
pokemon.abilities.add(tempA);
}
diff --git a/src/main/webapp/pages/adminIndex.jsp b/src/main/webapp/pages/adminIndex.jsp
index 25d021f..be5381f 100644
--- a/src/main/webapp/pages/adminIndex.jsp
+++ b/src/main/webapp/pages/adminIndex.jsp
@@ -85,15 +85,19 @@ request.setAttribute("monsters", monsters);
<br><br>
<h1>Registracija novog admina</h1>
<form method="post" action="registerAdmin.jsp">
- <input type="text" name="username"> Korisnicko ime
+ <input type="text" name="username" pattern="^[A-Za-z0-9]{1,}$" required> Korisnicko ime
<br>
- <input type="password" name="password">Sifra
+ <input type="password" name="password" pattern="^[A-Za-z0-9]{1,}$" required>Sifra
<br>
<p style="color:red;">
<%
if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") )
out.print("Username vec postoji");
%>
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-3") )
+ out.print("Username i password moraju biti alfanumericnog tipa");
+ %>
</p>
<p style="color:green;">
<%
diff --git a/src/main/webapp/pages/register.jsp b/src/main/webapp/pages/register.jsp
index e8de339..65a1e8a 100644
--- a/src/main/webapp/pages/register.jsp
+++ b/src/main/webapp/pages/register.jsp
@@ -1,3 +1,4 @@
+<%@page import="pokemon.RegexHelper"%>
<%@page import="models.User"%>
<%@page import="models.CONSTS"%>
<%@page import="java.rmi.Naming"%>
@@ -8,12 +9,20 @@
<%
IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
- boolean s=service.addUser(user);
- if(s)
- {
- response.sendRedirect("../index.jsp?id=-2");
+ if(RegexHelper.checkAlphaNumericInput(user.username) && RegexHelper.checkAlphaNumericInput(user.password)){
+
+ boolean s=service.addUser(user);
+ if(s)
+ {
+ response.sendRedirect("../index.jsp?id=-2");
+ }
+ else{
+ response.sendRedirect("registerPage.jsp?id=-1");
+ }
+
}
else{
- response.sendRedirect("registerPage.jsp?id=-1");
+ response.sendRedirect("registerPage.jsp?id=-3");
}
+
%> \ No newline at end of file
diff --git a/src/main/webapp/pages/registerAdmin.jsp b/src/main/webapp/pages/registerAdmin.jsp
index f6d518b..1dc04f2 100644
--- a/src/main/webapp/pages/registerAdmin.jsp
+++ b/src/main/webapp/pages/registerAdmin.jsp
@@ -1,3 +1,4 @@
+<%@page import="pokemon.RegexHelper"%>
<%@page import="models.User"%>
<%@page import="models.CONSTS"%>
<%@page import="java.rmi.Naming"%>
@@ -14,12 +15,18 @@ if(!isAdmin){
<%
IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
user.setAdmin(true);
- boolean s=service.addUser(user);
- if(s)
- {
- response.sendRedirect("adminIndex.jsp?id=-2");
+ if(RegexHelper.checkAlphaNumericInput(user.username) && RegexHelper.checkAlphaNumericInput(user.password)){
+ boolean s=service.addUser(user);
+ if(s)
+ {
+ response.sendRedirect("adminIndex.jsp?id=-2");
+ }
+ else{
+ response.sendRedirect("adminIndex.jsp?id=-1");
+ }
}
else{
- response.sendRedirect("adminIndex.jsp?id=-1");
+ response.sendRedirect("adminIndex.jsp?id=-3");
}
+
%> \ No newline at end of file
diff --git a/src/main/webapp/pages/registerPage.jsp b/src/main/webapp/pages/registerPage.jsp
index 0f6cf3e..c4118a0 100644
--- a/src/main/webapp/pages/registerPage.jsp
+++ b/src/main/webapp/pages/registerPage.jsp
@@ -8,15 +8,19 @@
</head>
<body>
<form method="post" action="register.jsp">
- <input type="text" name="username"> Korisnicko ime
+ <input type="text" name="username" pattern="^[A-Za-z0-9]{1,}$" required> Korisnicko ime
<br>
- <input type="password" name="password">Sifra
+ <input type="password" name="password" pattern="^[A-Za-z0-9]{1,}$" required>Sifra
<br>
<p style="color:red;">
<%
if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") )
out.print("Username vec postoji");
%>
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-3") )
+ out.print("Username i password moraju biti alfanumericnog tipa");
+ %>
</p>
<button type="submit">Registracija</button>
</form>