parent
2041f71243
commit
e926547f83
|
@ -333,18 +333,13 @@ public class AuthMe extends JavaPlugin {
|
||||||
|
|
||||||
// Set Console Filter
|
// Set Console Filter
|
||||||
if (Settings.removePassword) {
|
if (Settings.removePassword) {
|
||||||
final ConsoleFilter filter = new ConsoleFilter();
|
|
||||||
this.getLogger().setFilter(filter);
|
|
||||||
Bukkit.getLogger().setFilter(filter);
|
|
||||||
Logger.getLogger("Minecraft").setFilter(filter);
|
|
||||||
authmeLogger.setFilter(filter);
|
|
||||||
// Set Log4J Filter
|
// Set Log4J Filter
|
||||||
try {
|
try {
|
||||||
Class.forName("org.apache.logging.log4j.core.Filter");
|
Class.forName("org.apache.logging.log4j.core.Filter");
|
||||||
final org.apache.logging.log4j.core.Logger coreLogger = (org.apache.logging.log4j.core.Logger) LogManager.getRootLogger();
|
final org.apache.logging.log4j.core.Logger coreLogger = (org.apache.logging.log4j.core.Logger) LogManager.getRootLogger();
|
||||||
coreLogger.addFilter(new Log4JFilter());
|
coreLogger.addFilter(new Log4JFilter());
|
||||||
} catch (ClassNotFoundException | NoClassDefFoundError e) {
|
} catch (ClassNotFoundException | NoClassDefFoundError e) {
|
||||||
ConsoleLogger.info("You're using Minecraft 1.6.x or older, Log4J support will be disabled");
|
ConsoleLogger.info("警告!!! 密码安全替换开启失败 请注意保护控制台日志...");
|
||||||
}
|
}
|
||||||
ConsoleLogger.info("已开启密码安全替换 控制台将不会记录密码相关数据...");
|
ConsoleLogger.info("已开启密码安全替换 控制台将不会记录密码相关数据...");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
package cn.citycraft.AuthMe;
|
|
||||||
|
|
||||||
import java.util.logging.Filter;
|
|
||||||
import java.util.logging.LogRecord;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Xephi59
|
|
||||||
*/
|
|
||||||
public class ConsoleFilter implements Filter {
|
|
||||||
String[] filterkey = new String[] { "/login ", "/l ", "/reg ", "/register ", "/changepassword ", "/unregister ", "/authme register ", "/authme changepassword ", "/authme reg ", "/authme cp " };
|
|
||||||
|
|
||||||
public ConsoleFilter() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isLoggable(final LogRecord record) {
|
|
||||||
try {
|
|
||||||
if (record == null || record.getMessage() == null) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
final String logM = record.getMessage().toLowerCase();
|
|
||||||
if (!logM.contains("issued server command:")) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
for (final String key : filterkey) {
|
|
||||||
if (logM.contains(key)) {
|
|
||||||
final String playername = record.getMessage().split(" ")[0];
|
|
||||||
record.setMessage(playername + " 执行了一个 AuthMe 命令!");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (final NullPointerException npe) {
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -11,6 +11,7 @@ import org.apache.logging.log4j.message.Message;
|
||||||
* @author Xephi59
|
* @author Xephi59
|
||||||
*/
|
*/
|
||||||
public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
||||||
|
String[] filterkey = new String[] { "/login ", "/l ", "/reg ", "/register ", "/changepassword ", "/unregister ", "/authme register ", "/authme changepassword ", "/authme reg ", "/authme cp " };
|
||||||
|
|
||||||
public Log4JFilter() {
|
public Log4JFilter() {
|
||||||
}
|
}
|
||||||
|
@ -21,7 +22,7 @@ public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
||||||
if (record == null || record.getMessage() == null) {
|
if (record == null || record.getMessage() == null) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
}
|
}
|
||||||
final String logM = record.getMessage().getFormattedMessage().toLowerCase();
|
final String logM = record.getMessage().getFormattedMessage();
|
||||||
return isLogger(logM);
|
return isLogger(logM);
|
||||||
} catch (final NullPointerException npe) {
|
} catch (final NullPointerException npe) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
|
@ -34,7 +35,7 @@ public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
||||||
if (message == null) {
|
if (message == null) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
}
|
}
|
||||||
final String logM = message.getFormattedMessage().toLowerCase();
|
final String logM = message.getFormattedMessage();
|
||||||
return isLogger(logM);
|
return isLogger(logM);
|
||||||
} catch (final NullPointerException npe) {
|
} catch (final NullPointerException npe) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
|
@ -47,7 +48,7 @@ public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
||||||
if (message == null) {
|
if (message == null) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
}
|
}
|
||||||
final String logM = message.toString().toLowerCase();
|
final String logM = message.toString();
|
||||||
return isLogger(logM);
|
return isLogger(logM);
|
||||||
} catch (final NullPointerException npe) {
|
} catch (final NullPointerException npe) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
|
@ -60,7 +61,7 @@ public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
||||||
if (message == null) {
|
if (message == null) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
}
|
}
|
||||||
final String logM = message.toLowerCase();
|
final String logM = message;
|
||||||
return isLogger(logM);
|
return isLogger(logM);
|
||||||
} catch (final NullPointerException npe) {
|
} catch (final NullPointerException npe) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
|
@ -78,14 +79,18 @@ public class Log4JFilter implements org.apache.logging.log4j.core.Filter {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Result isLogger(final String logM) {
|
private Result isLogger(final String logM) {
|
||||||
if (!logM.contains("issued server command:")) {
|
final String log = logM.toLowerCase();
|
||||||
|
if (!log.contains("issued server command:")) {
|
||||||
return Result.NEUTRAL;
|
return Result.NEUTRAL;
|
||||||
}
|
}
|
||||||
if (!logM.contains("/login ") && !logM.contains("/l ") && !logM.contains("/reg ") && !logM.contains("/changepassword ") && !logM.contains("/unregister ") && !logM.contains("/authme register ")
|
for (final String key : filterkey) {
|
||||||
&& !logM.contains("/authme changepassword ") && !logM.contains("/authme reg ") && !logM.contains("/authme cp ") && !logM.contains("/register ")) {
|
if (log.contains(key)) {
|
||||||
return Result.NEUTRAL;
|
final String playername = logM.split(" ")[0];
|
||||||
|
AuthMe.getInstance().getLogger().info(playername + " 执行了一个 AuthMe 命令!");
|
||||||
|
return Result.DENY;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return Result.DENY;
|
return Result.NEUTRAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue