Redis在防刷中的应用(redis防刷)

  随着技术的进步,网站抗压能力的提高,网络攻击事件也越来越频繁。针对网络攻击,像防御超时攻击、火攻击等,可以使用防刷技术来有效抵御,尤其是开发了Redis缓存技术,被许多网站认可用于防御网络攻击。

  通用的一般的防刷系统是使用过去的一些字段记录用户的访问,并且实质上是限制用户访问的数据库的读取操作。而Redis dones 是用一个内存数据库来实现的,Redis内存中的键和值分别表示IP地址和当前时间戳,当用户请求发送到服务器端时,服务器端就会去Redis检查此IP地址是否存在,如存在,就比较当前时间戳跟Redis中的时间戳,如果小于规定的阈值,那么说明为频繁访问,可以拒绝访问,并返回错误信息,如果大于规定的阈值,则允许访问,此时服务器会重新获取当前时间戳,替换原来的时间戳,从而保持频繁访问的限制。代码如下:

String ip ;
// 获取用户IP地址
ip=request.getRemoteAddr();

// 从Redis中获取IP对应的时间戳
String timestamp = jedis.hget("key",ip);

//有可能是第一次访问,timestamp 为null
if(timestamp==null){
//首次访问放行
else{
//当前时间戳
long current_timestamp = System.currentTimeMillis();

//比较时间戳
if((current_timestamp - Long.valueOf(timestamp))
//访问超过1分钟放行
}else {
//访问拒绝
}

//更新当前时间戳
jedis. hset("key", ip, String.valueOf(current_timestamp));
}

  由此来看,Redis不仅比应用数据库的读写的方式更加便捷,而且Redis的查询速度很快,能够更快的完成读取操作,从而帮助我们实现一定程度上的防刷技术,从而达到有效抵御攻击的效果。

创新互联成都网站建设公司提供专业的建站服务,为您量身定制,欢迎来电(028-86922220)为您打造专属于企业本身的网络品牌形象。
成都创新互联品牌官网提供专业的网站建设、设计、制作等服务,是一家以网站建设为主要业务的公司,在网站建设、设计和制作领域具有丰富的经验。

本文标题:Redis在防刷中的应用(redis防刷)
文章出自:http://www.shufengxianlan.com/qtweb/news19/382669.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联