同一IP登录问题

问题描述

要求一个用户在同一ip中只能同时登陆一次换ip可以登录没有思路帮帮写这代码吧

解决方案

解决方案二:
记录访问的Ip撒
解决方案三:
你从用户的http请求头就可以拿到IP地址的问题是一个公司的IP都一样一个人访问了别人都不能访问了吗而且如果人家是代理估计也不能访问
解决方案四:
引用2楼zn85600301的回复:

你从用户的http请求头就可以拿到IP地址的问题是一个公司的IP都一样一个人访问了别人都不能访问了吗而且如果人家是代理估计也不能访问

这个是值得考虑的问题
解决方案五:
引用2楼zn85600301的回复:

你从用户的http请求头就可以拿到IP地址的问题是一个公司的IP都一样一个人访问了别人都不能访问了吗而且如果人家是代理估计也不能访问

顶a
解决方案六:
没还学到这么高级的东东,帮顶一下
解决方案七:
代码如下。在需要检查的地方,调用sessionStart_NeedBlock。对于2楼的问题,在这道题目之外。看起来没有解法。publicstaticHashMapCURRENT_USER_IP=newHashMap();publicbooleansessionStart_NeedBlock(HttpServletRequestrequest){Stringip=request.getRemoteAddr();if(CURRENT_USER_IP.containsValue(ip)){//blockuserreturntrue;}else{CURRENT_USER_IP.put(request.getSession().getId(),ip);returnfalse;}}publicvoidsessionEnd(HttpSessionsession){CURRENT_USER_IP.remove(session.getId());}

创建MySessionListener,放到web。xml中。publicclassMySessionListenerimplementsHttpSessionListener{publicvoidsessionDestroyed(HttpSessionEventsessEvent){sessionEnd(sessEvent.getSession());}}

解决方案八:
建张表存用户id和登陆过的ip验证用户是验证用户名和密码同时查看id,ip表是否有数据,没有则添加ip数据允许登陆有则返回不允许登陆
解决方案九:
可以试试登陆流水日志表账号是唯一主键,每次登陆查询日志是否有对应的账号,如果有则拒绝登陆。
解决方案十:
引用8楼gudankangti1987的回复:

可以试试登陆流水日志表账号是唯一主键,每次登陆查询日志是否有对应的账号,如果有则拒绝登陆。

账号是不行的,可以选择任何ip登陆账号。这个地方应该是查询有无对应ip地址。
解决方案十一:
我也有这个问题,计划设一个服务器监听,ip相同就返回
解决方案十二:
局域网只一外部IP你要怎么处理
解决方案十三:
用户登陆时,把IP取出来,添加到一个集合里,把这个集合存到服务器上,也就是ServletContext内,然后再有用户登陆时,判断一下这个集合是否包含这个IP,剩下的,你懂的
解决方案十四:
解决代理IP问题publicStringgetRemortIP(HttpServletRequestrequest){if(request.getHeader("x-forwarded-for")==null){returnrequest.getRemoteAddr();}returnrequest.getHeader("x-forwarded-for");}

如果request.getHeader("x-forwarded-for")==null则直接返回IP.如果不为null,则说明客户端是用代理IP.通过request.getHeader("x-forwarded-for");直接获取客户端的IP
解决方案十五:
该回复于2010-12-09 16:07:10被版主删除

时间: 2024-08-30 12:44:01

同一IP登录问题的相关文章

Linux退出后要如何限制IP登录Shell脚本

Linux系统虽然比Windows系统安全很多,是很好的程序开发环境,但多少还是存在一些安全隐患的.在Linux用户退出系统后,还是会有多个IP登录的风险,那么Linux退出后要如何限制IP登录Shell脚本呢?下面小编介绍一些实例. 生产环境中,有可能会出现被其他管理员或使用者修改hosts.allow允许更多的ip登陆机器;为了方便统一管理,我们可以在用户退出的时候统一修改allow和deny文件成默认设置.同时也能自动获取机器所配ip的整个ip段为允许登陆. test -f /root/.

svn 安装以后,mysql 就不能用ip登录了。

问题描述 svn 安装以后,mysql 就不能用ip登录了. mysql 在没有安装svn之前,是可以通过ip地址远程的,但是安装了svn之后,通过ip远程就不能连接了, 报错:,求各位大神帮助!!!!!!!!!!!! 解决方案 解决方案二: 可能是因为系统数据库mysql中user表中的host是localhost的原因,试试把这个值改为自己服务器的ip.不过用 mysql -u root -p命令就连不上数据库了,需要用mysql -h 服务器ip -u root -p因为默认的连接mysq

阿里云邮箱登录日志中有异地IP登录是怎么回事?该怎么办?

注意,请先到阿里云官网 领取幸运券,除了价格上有很多优惠外,还可以参与抽奖.详见:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=2a7uv47d&utm_source=2a7uv47d 以下可能: 1.您的邮箱密码泄露了,请您及时修改密码(应当同时包括大写字母.小写字母.数字三种,长度在12位以上),并查杀本地电脑中的病毒. 2.设置手机收发邮件,例如IMAP收发等. 3.使用其他邮箱代收邮件

java web 如何实现ip登录

问题描述 javaweb如何实现ip登录就像我们以前登入一台ip地址的服务器一样登录之前需要验证直接弹出验证框(这验证框不是html或者js生成的是自动生成的) 解决方案 解决方案二:没人么?.......................解决方案三:帮你顶一下,我也不知道,你是想要实现windows远程连接那种功能吗?解决方案四:那应该是IIS里的功能吧

sqlserver远程连接-sqlserver2005 Express 设置远程计算机名登录,不要IP登录

问题描述 sqlserver2005 Express 设置远程计算机名登录,不要IP登录 大家好,我想做个订阅功能,操作的时候提示要连接远程数据库,并且以计算机名连接的. 于是我百度了怎么配置远程连接,配置好后,我可以直接在本机数据库输入IP地址和用户名密码直接登录服务器上的数据库.但是我输入服务器上的计算机名登录却登录不了.怎么办. 已经能够远程IP登录了.

MSSQL 2008不能用IP登录问题如何解决_mssql2008

看到网上好多人问为什么我的SQL 2008只能用服务器计算器名登录,而不能用IP登录呢?我也遇到过这个问题,看到网上的回答各有千秋,但没有一个写得比较便于操作的.经过一番网络关键字(SQL 2008 local 登录)查找文章,整理,尝试,终于我的SQL 2008能用IP地址或LOCAL登录了,在此感谢那些无名英雄. 最后,我的成功过程我不敢一个人私藏,特意整理了下解决过程与大家一共分享. 解决MSSQL 2008不能用IP登录的问题 前提准备:mssql 2008已安装好了一个实例(我按默认情

解决MSSQL 2008不能用IP登录的

mssql 2008已安装好了一个实例(我按默认情况下安装的实例是:SQLEXPRESS),并安装了SQL Server Management Studio工具. 为了满足可以用(local)或IP地址登录2008,需要以下配置支持: 一.打开"SQL Server 配置管理器",做如下配置: 1.点开"SQL Server服务"节点 找到我们安装的SQL服务:SQL SERVER(SQLEXPRESS),双击它打开属性设置对话框,把登录身份中的内置帐户选中,并下拉

SSH端口修改及限制IP登录及禁止ROOT远程登录方法

1.修改SSH默认端口  代码如下 复制代码     //修改配置文件     vi /etc/ssh/sshd_config     //修改 #Port 22 为如下:     Port 22     Port 888     //重启SSH服务     /etc/init.d/sshd restart 这样SSH端口 22 和 888 将同时有效.  代码如下 复制代码     //修改防火墙配置     vi /etc/sysconfig/iptables     //启用888端口  

Linux SSH 安全策略 限制 IP 登录方法_Linux

方法一: 首先需要限制登录的ip(或者如果需要自己本地登录,查看最后登录ip即可) Vim /etc/hosts.allow 输入     sshd:114.80.100.159:allow vim /etc/hosts.deny 输入(表示除了上面允许的,其他的ip   都拒绝登陆ssh)    sshd:ALL 最后sshd重启 service sshd restart    方法二: 比如说你只允许114.80.100.159这个IP进入,其它都禁止:        vim   /etc/