[Geo]Sky Posted November 2, 2010 Posted November 2, 2010 Index ? /* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package net.sf.l2j.gameserver.model.entity; import java.sql.PreparedStatement; import java.sql.ResultSet; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.clientpackets.Say2; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.serverpackets.CreatureSay; /** * * @author xAddytzu */ public class ProtectionIP { public static void onEnterWorld(L2PcInstance player) { String last = ""; String curr = ""; try { last = LastIP(player); curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); } catch (Exception e) { } if (!last.equals(curr)) player.sendPacket(new CreatureSay(1, Say2.PARTY, "SYSTEM", "Your last ip was: "+last+" and current: "+curr)); UpdateLastIP(player, player.getAccountName()); } public static String LastIP(L2PcInstance player) { String lastIp = ""; java.sql.Connection con = null; try { ResultSet rset; con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM `accounts` WHERE login = ?"); statement.setString(1, player.getAccountName()); rset = statement.executeQuery(); while(rset.next()) { lastIp = rset.getString("lastIP"); } } catch(Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } return lastIp; } public static void UpdateLastIP(L2PcInstance player ,String user) { String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); java.sql.Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE accounts SET lastIP=? WHERE login=?"); statement.setString(1, address); statement.setString(2, user); statement.execute(); statement.close(); } catch(Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } } }
xAddytzu Posted November 2, 2010 Author Posted November 2, 2010 package net.sf.l2j.gameserver.model.entity;
kostasole Posted November 15, 2010 Posted November 15, 2010 Wonderful share man, i will sure tryyyy it
marius200597 Posted November 21, 2010 Posted November 21, 2010 well... the point of all this ? ... For example if the user has dynamic ip .... how would he know if his account was stolen ? or used by another person.... he would be confused anyway because he will see different ip's ... heh nvm xD talking to much :) But regards the coding :) well done ^ ^ :)
Kup9_RU Posted November 21, 2010 Posted November 21, 2010 Did everything exactly like you, but flying bug: ( Where could I go wrong? [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:42: cannot find symbol [javac] curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); [javac] ^ [javac] symbol: method getSocketChannel() [javac] location: class MMOConnection<L2GameClient> [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:89: cannot find symbol [javac] String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); [javac] ^ [javac] symbol: method getSocketChannel() [javac] location: class MMOConnection<L2GameClient> [javac] 2 errors
Flash™ Posted November 21, 2010 Posted November 21, 2010 Did everything exactly like you, but flying bug: ( Where could I go wrong? [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:42: cannot find symbol [javac] curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); [javac] ^ [javac] symbol: method getSocketChannel() [javac] location: class MMOConnection<L2GameClient> [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:89: cannot find symbol [javac] String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); [javac] ^ [javac] symbol: method getSocketChannel() [javac] location: class MMOConnection<L2GameClient> [javac] 2 errors look this package net.sf.l2j.gameserver.model.entity; import java.sql.PreparedStatement; import java.sql.ResultSet; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.clientpackets.Say2; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.serverpackets.CreatureSay; /** * * @author xAddytzu */ public class ProtectionIP { public static void onEnterWorld(L2PcInstance player) { String last = ""; String curr = ""; try { last = LastIP(player); curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); } catch (Exception e) { } if (!last.equals(curr)) player.sendPacket(new CreatureSay(1, Say2.PARTY, "SYSTEM", "Your last ip was: "+last+" and current: "+curr)); UpdateLastIP(player, player.getAccountName()); } public static String LastIP(L2PcInstance player) { String lastIp = ""; java.sql.Connection con = null; try { ResultSet rset; con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM `accounts` WHERE login = ?"); statement.setString(1, player.getAccountName()); rset = statement.executeQuery(); while(rset.next()) { lastIp = rset.getString("lastIP"); } } catch(Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } return lastIp; } public static void UpdateLastIP(L2PcInstance player ,String user) { String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); java.sql.Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE accounts SET lastIP=? WHERE login=?"); statement.setString(1, address); statement.setString(2, user); statement.execute(); statement.close(); } catch(Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } } } delete for this /* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ and is ok :P test for l2j Interlude
Sinnocent Posted November 22, 2010 Posted November 22, 2010 hmm by the time you see someone logged your account, i believe its too late ::) thanks for share
Trance Posted November 22, 2010 Posted November 22, 2010 hmm by the time you see someone logged your account, i believe its too late ::) thanks for share
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now