php限定时间内同一ip只能访问一次

 建立一个数据表

  CREATE TABLE `clicks` (

  `ip` INT UNSIGNED NOT NULL ,

  `time1` INT UNSIGNED NOT NULL ,

  `time2` INT UNSIGNED NOT NULL ,

  PRIMARY KEY ( `ip` )

  ) ENGINE = MYISAM

  获取ip和当前时间插入到数据表

  INSERT INTO clicks (ip,time2) VALUES (INET_ATON(‘{$_SERVER["REMOTE_ADDR"]}‘),UNIX_TIMESTAMP()) ON DUPLICATE KEY UPDATE time1=time2, time2=UNIX_TIMESTAMP()

  再次访问时进行验证

  SELECT INET_NTOA(ip) FROM clicks WHERE ip=INET_ATON(‘{$_SERVER["REMOTE_ADDR"]}‘) AND time1+3600-time2+3600<=UNIX_TIMESTAMP();

  在规定的时间内则允许,否则拒绝访问。

时间: 2024-12-17 21:59:44

php限定时间内同一ip只能访问一次的相关文章

WINSOCK RESET解决只能通过IP地址访问目的地址,而域名无法访问的问题。

今天遇到一个问题:一台电脑能访问IP地址,却不能通过网页解析域名(输入IP正常访问). 排错:1.检查dns,没问题,因为别的电脑在用 2. NSLOOKUP ,dns能解析出域名和ip,确定了DNS没事 其实我是第一次遇见这故障,只能借助BAIDU大神了.通过搜索发现原来有可能是winsock被篡改或错误造成的.随执行:"NETSH WINSOCK RESET "  命令进行重置并重启. 重启后发现一切正常可访问网页.问题解决. 此命令还适用于:无法获得IP地址.获得ip显示黄叹号.

设置nginx禁止IP直接访问,只能通过指定的域名访问

设置配置文件disableip.conf: server {     listen 80;     server_name _;     return500; } 这是最终使用的配置文件,也是网上找到的常见的配置之一,最初该conf文件在sites-available文件夹下,尝试使用各种参数均无法正常工作,最终尝试将disableip.conf文件放入conf.d文件夹下,这是因为在nginx.conf文件中: include /etc/nginx/conf.d/*.conf; include

关于javascript中限定时间内防止按钮重复点击的思路

前面的话 有一天心血来潮,1分钟内重复点击了多次博客园首页的刷新博文列表的刷新按钮.果不其然,ip当时就被禁用了.后来,重启自己的路由器,重新获取ip才可以访问博客园主页.那么,设置一个限定时间内(比如1秒)防止按钮被重复点击的方法会不会更好一点呢? 思路一 最直接的思路可能就是点击按钮后,按钮的事件绑定函数解绑,1s后重新绑定函数 <button id="btn">0</button> <script> btn.onclick = function

防止恶意解析——禁止通过IP直接访问网站

一.什么是恶意解析 一般情况下,要使域名能访问到网站需要两步,第一步,将域名解析到网站所在的主机,第二步,在web服务器中将域名与相应的网站绑定.但是,如果通过主机IP能直接访问某网站,那么把域名解析到这个IP也将能访问到该网站,而无需在主机上绑定,也就是说任何人将任何域名解析到这个IP就能访问到这个网站.可能您并不介意通过别人的域名访问到您的网站,但是如果这个域名是未备案域名呢?一旦被查出,封IP.拔线甚至罚款的后果都是需要您来承担的.某些别有用心的人,通过将未备案域名解析到别人的主机上,使其

MSSQL只能访问特定的数据库

让用户只能访问特定的数据库(MSSQL) 背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库. 解决方案 1.先给不同的厂商创建不同的登录名(如下以一个厂商为例) 2.将登录名加入到public服务器角色中,然后点击确定 3.将待授权的数据库的dbowner指派给该用户 Use [xjcs] go EXEC

防止恶意解析 - 禁止通过ip直接访问到网站

什么是恶意解析? 一般情况下,要使域名能访问到网站需要两步,第一步,将域名解析到网站所在的主机,第二步,在web服务器中将域名与相应的网站绑定.但是,如果通过主机IP能直接访问某网站,那么把域名解析到这个IP也将能访问到该网站,而无需在主机上绑定,也就是说任何人将任何域名解析到这个IP就能访问到这个网站.可能您并不介意通过别人的域名访问到您的网站,但是如果这个域名是未备案域名呢?一旦被查出,封IP.拔线甚至罚款的后果都是需要您来承担的.某些别有用心的人,通过将未备案域名解析到别人的主机上,使其遭

如何让用户只能访问特定的数据库(MSSQL)

背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库. 解决方案 1.先给不同的厂商创建不同的登录名(如下以一个厂商为例) 2.将登录名加入到public服务器角色中,然后点击确定 3.将待授权的数据库的dbowner指派给该用户 Use [xjcs] go EXEC dbo.sp_changedbowner

vsftpd限制新增加的ftp用户只能访问home目录

一.vsftp添加用户 [[email protected] www.server110.com ~]# adduser -g ftp -s /sbin/nologin mmc [[email protected] www.server110.com ~]# passwd mmc 输入密码. 这样添加了一个用户名为:mmc 的新用户,新添加的用户只能登录FTP,不能作为系统用户登录. 新添加的用户默认家目录是在/home 下有个以用户名为文件名的文件夹,如果想使用指定的目录给用户,可以作以下操作

springboot过滤器禁止ip频繁访问

1.编写一个过滤器: import lombok.extern.slf4j.Slf4j; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.