修复一些安全隐患

This commit is contained in:
Nico
2021-07-15 14:49:50 +08:00
parent 5bf65d262a
commit 4d5de613fd
2 changed files with 24 additions and 30 deletions
@@ -2,6 +2,7 @@ package org.nico.ratel.landlords.client.event;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.nico.noson.Noson;
import org.nico.noson.entity.NoType;
@@ -19,27 +20,26 @@ public class ClientEventListener_CODE_GAME_OVER extends ClientEventListener {
Map<String, Object> map = MapHelper.parser(data);
SimplePrinter.printNotice("\nPlayer " + map.get("winnerNickname") + "[" + map.get("winnerType") + "]" + " won the game");
List<Map<String, Object>> scores = Noson.convert(map.get("scores"), new NoType<List<Map<String, Object>>>() {});
for (Map<String, Object> score : scores) {
if (SimpleClient.id != (int) score.get("clientId")) {
SimplePrinter.printNotice(score.get("nickName").toString() + "'s rest poker is:");
SimplePrinter.printPokers(Noson.convert(score.get("pokers"), new NoType<List<Poker>>() {}));
if (map.containsKey("scores")){
List<Map<String, Object>> scores = Noson.convert(map.get("scores"), new NoType<List<Map<String, Object>>>() {});
for (Map<String, Object> score : scores) {
if (! Objects.equals(score.get("clientId"), SimpleClient.id)) {
SimplePrinter.printNotice(score.get("nickName").toString() + "'s rest poker is:");
SimplePrinter.printPokers(Noson.convert(score.get("pokers"), new NoType<List<Poker>>() {}));
}
}
}
SimplePrinter.printNotice("\n");
// print score
for (Map<String, Object> score : scores) {
String scoreInc = score.get("scoreInc").toString();
String scoreTotal = score.get("score").toString();
if (SimpleClient.id != (int) score.get("clientId")) {
SimplePrinter.printNotice(score.get("nickName").toString() + "'s score is " + scoreInc + ", total score is " + scoreTotal);
} else {
SimplePrinter.printNotice("your score is " + scoreInc + ", total score is " + scoreTotal);
SimplePrinter.printNotice("\n");
// print score
for (Map<String, Object> score : scores) {
String scoreInc = score.get("scoreInc").toString();
String scoreTotal = score.get("score").toString();
if (SimpleClient.id != (int) score.get("clientId")) {
SimplePrinter.printNotice(score.get("nickName").toString() + "'s score is " + scoreInc + ", total score is " + scoreTotal);
} else {
SimplePrinter.printNotice("your score is " + scoreInc + ", total score is " + scoreTotal);
}
}
ClientEventListener_CODE_GAME_READY.gameReady(channel);
}
ClientEventListener_CODE_GAME_READY.gameReady(channel);
}
}
@@ -52,8 +52,6 @@ public class ServerEventListener_CODE_GAME_STARTING implements ServerEventListen
.put("nextClientNickname", startGrabClient.getNickname())
.put("nextClientId", startGrabClient.getId())
.put("pokers", client.getPokers())
// this key-value use to client order to show
.put("clientOrderList", roomClientList)
.json();
if (client.getRole() == ClientRole.PLAYER) {
@@ -76,16 +74,12 @@ public class ServerEventListener_CODE_GAME_STARTING implements ServerEventListen
* @param room 房间
*/
private void notifyWatcherGameStart(Room room) {
String result = MapHelper.newInstance()
.put("player1", room.getClientSideList().getFirst().getNickname())
.put("player2", room.getClientSideList().getFirst().getNext().getNickname())
.put("player3", room.getClientSideList().getLast().getNickname())
.json();
for (ClientSide clientSide : room.getWatcherList()) {
String result = MapHelper.newInstance()
.put("player1", room.getClientSideList().getFirst().getNickname())
.put("pokers1", room.getClientSideList().getFirst().getPokers())
.put("player2", room.getClientSideList().getFirst().getNext().getNickname())
.put("pokers2", room.getClientSideList().getFirst().getNext().getPokers())
.put("player3", room.getClientSideList().getLast().getNickname())
.put("pokers3", room.getClientSideList().getLast().getPokers())
.json();
ChannelUtils.pushToClient(clientSide.getChannel(), ClientEventCode.CODE_GAME_STARTING, result);
}
}