如何在war文件中设置密码???我可以在war文件中设置IP地址、mac地址吗?然后在部署之前检查IP地址、mac地址?如果这些地址正确,那么部署战争文件?
在war内部进行IP地址检查、mac地址检查等,这样即使war被解除,如果IP或mac地址不正确,它也不会工作。即…像那样在战争中更改代码
下面给出了一个获取IP地址和MAC地址的示例java程序
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class MACandIP{
public static void main(String[] args){
InetAddress ipAddress;
byte[] macAddress;
try {
ipAddress = InetAddress.getLocalHost();
System.out.println("IP address =" + ipAddress.getHostAddress());
NetworkInterface networkInt = NetworkInterface.getByInetAddress(ipAddress);
macAddress = networkInt.getHardwareAddress();
StringBuilder strBld = new StringBuilder();
System.out.print("MAC address = ");
for (int i = 0; i < macAddress.length; i++) {
strBld.append(String.format("%02X%s", macAddress[i], (i < macAddress.length - 1) ? "-" : ""));
}
System.out.println(strBld.toString());
//in above code assume you got MAC address as 81-7B-39-C5-A6-D4
if(strBld.toString().equalsIgnoreCase("81-7B-39-C5-A6-D4")){
// mac is correct
}
} catch (UnknownHostException excep) {
excep.printStackTrace();
} catch (SocketException exce){
exce.printStackTrace();
}
}
}
我建议你不要在war文件中进行所有这些验证,毕竟这只是一个文件,如果有人想替换它,无论你在war中做了什么验证和检查,他都可以替换文件。
您需要做的是编写一个部署脚本,为其提供要部署的新war,然后该脚本执行所有验证并替换war文件。
WAR格式和servlet API在部署前不支持任何形式的保护。此外,任何仅限软件的方案都可以被破解。
您检查的有效许可证密钥和"没有有效许可证就不支持代码"的组合很可能是您所期望的最佳组合。