WordPress通过设置Cookie过期时间实现操作频率限制

我们在开发某些插件的时候会用到提交功能,那么如果用户短时间内频繁提交可能会导致增加服务器压力,咱们如何可以避免这个问题呢?其实很简单,就拿子比主题为例!

  1. 我们首先设置Cookie过期时间
  2. 在下面代码里,我们将Cookie过期时间设置为5秒
  3. 然后设置了一个zib_fk_submit_time为Cookie的名称
	//设置cookie
	$expire = time() + 5; // 设置cookie的过期时间为当前时间加5秒
	setcookie('zib_fk_submit_time', time(), $expire, '/', '', false);
  1. 接着在处理用户提交之前,代码首先检查是否存在一个名为zib_fk_submit_time的cookie。这个cookie用于记录用户上一次提交的时间。
  2. 这里,time()函数返回当前的Unix时间戳,$expire变量被设置为当前时间加30秒,意味着用户需要等待30秒后才能再次提交链接。setcookie()函数用于发送一个cookie到用户的浏览器,其中'zib_fk_submit_time'是cookie的名称,time()是cookie的值(记录了设置cookie时的时间戳),$expire是cookie的过期时间。
	//检查cookie
	if (isset($_COOKIE['zib_fk_submit_time'])) {
    echo (json_encode(array('error' => 1, 'ys' => 'danger', 'msg' => '操作过于频繁,请稍候再试')));
    exit();
}
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
发表回复 抢沙发

请登录后发表评论

    暂无评论内容