MurmurHash2 哈希算法碰撞引起的Redis DDos 攻击漏洞

概要信息: 在Martin Bosslet 2012年的这篇文章中,作者提到MurmurHash2算法被发现可以稳定构造碰撞函数,该哈希函数及其变形被CRuby, JRuby, Rubinius, Redis等开源组件使用。本文是基于Martin Bosslet的发现继续挖掘的结果,在此对Martin Bosslet表示感谢。原文中作者的碰撞函数是基于Ruby完成的,这里将发布该碰撞函数的Python版本…

PHP 缓存技术

有否想过PHP使用redis作为缓存时,如何能: 前后台模块共用Model层; 但是,不能每个Model类都进行缓存,这样太浪费Redis资源; 前后台模块可以自由决定从数据库还是从缓存读数据; 没有冗余代码; 使用方便。 这里我们先展示实现的最终效果。 最终的代码和使用说明请移步Github:https://github.com/yeszao/php-redis-cache。 马上安装…

Redis保存PHP Session方法

PHP默认就支持保存session到redis,不需任何额外代码。 Redis保存session用的命令是setex,用redis-cli monitor实时监测可以检测到。 setex命令的语法: setex(key, time, value) 其中,key是键值,time是过期时间,value是字符串类型的值。 具体步骤如下。 1 环境 要用Redis保存session,首先必须要满足下面的条件: 必须有一台安装了R…

PHP连接和使用Redis

1 安装Redis 首先,需要一台Redis服务器。 本地安装方法参考《Redis安装教程》。 2 安装PHP扩展 要在PHP中连接Redis,还需要在PHP中安装phpredis扩展来连接Redis服务器。 2.1 Windows系统 Windows下直接下载 phpredis 扩展,地址:https://pecl.php.net/package/redis。 注意,要根据自己的PHP版本和位数(不是系统位数)下载扩展包,否…

Redis常用命令

Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;做为时时监控信号处理也非常不错。 说明:以下命令中,$符号之后为SHELL命令,>符号之后为Redis命令。 命令行中输入redis-cli就可以启动Redis客户端。 1 访问和查看 $ redis-cli redis 127.0.0.…

Redis安装和配置教程

1 Linux命令安装 Ubuntu安装: sudo apt-get install redis-server CentOS安装需要先安装EPEL源,再从EPEL源安装redis: yum -y install epel-release yum -y install redis 点击查看CentOS安装EPEL软件源。 2 Linux源码安装 首先要安装依赖工具, yum install -y gcc-c++ tcl wget # CentOS apt-get install gcc-c++ tcl wget # Ubuntu…

Redis缓存Session同步的实践方案

最近公司Web服务器换集群方式,集群所带来直接的问题就是session共享。 如果用PHP自带的session处理方式,又要达到一致性,我已知的解决方案是NFS方法,不过担心磁盘性能以及session的处理机制,决定放弃这种方法,最后决定用内存缓存服务器来实现。 公司目前主要缓存的使用已经全部转至Redis下面(主要因为我的极力推荐,呵呵)。所以…

用Redis模拟session概述

Redis 是一个强大而简单的键值型数据库,之前在公司网站改版的过程中大量使用 Redis 来处理一些特殊的需求,我希望能将自己对 Redis 的使用经验都分享出来,而这里算是第一篇吧。 背景 项目是一个有着不小访问量的网站,为了达到分流的作用,网站按照不同的业务(个人、企业、后台、营销、搜索、API等)区分成不同的子域名,而子域名下…