Redis是一种开源的内存数据库,非常适合做缓存,客户端通过公共网络将请求发送到Redis 服务器 ,因此连接的安全性非常重要。 Redis 默认的用户名密码设置实现了一定的安全防护,但如果Redis安装完成后没有更改这些默认的用户名密码,客户端可能会受到影响。
因此,为了保证Redis连接的安全性,强烈建议更改Redis默认用户名密码,以防止黑客窃取服务器,例如恶意加载代码或数据篡改等。配置Redis用户名密码可以通过设置配置文件中requirepass参数实现,例如:
requirepass 12345
这样,当客户端需要连接服务器时,就需要在连接的时候提供用户名密码,这样就可以实现访问控制和数据传输的安全性,方便管理。
另外,Redis还提供了监听端口,用户可以给监听端口添加密码保护,这样就可以更加安全地连接服务器,例如:
requirepass 12345

masterauth 12345
这样,只有输入对应的密码口令才能访问服务器,从而保护Redis服务器的安全性。
为了保证Redis连接的安全性,一定要设置默认的用户名密码,以及设置监听端口的密码保护等高级安全措施,这样才能尽可能地实现服务器的安全。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
mysql的用户名和密码怎么设置
首先应该知道Mysql数据库中的口令存储必须用password()函数加密它。 因为在user表中是以加密形式存储口令,而不是作为纯文本。 如果没有加密,直接在数据库中执行以下语句:use mysql Insert into user (host,user,password) values(%,user_name,your password);flush privileges;相信结果不会满意。 因为服务器比较的是加密的值,所以服务器连接一定失败。 这里需要说明的是flush privileges;这条命令起到了重新加载授权表。 也可以在shell下直接用mysqladmin -u root reload或者mysqladmin -u root flush-privileges来实现重载授权表。 在Mysql环境下,可以使用以下语句进行设置密码:1 insert into user(host,user,password) values(%,user_name,password(your password);2 set password for user_name = password(your password)以上两种方法都必须进行重载授权表。 3 当然也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令。 如:grant all on *.* to user_name@% identified by your password;另外也可以在shell环境下用mysqladmin程序来设置密码。
如何获得登录时的用户名和密码
登陆界面的<input>标签中没有name属性你怎么可能获得到登陆界面的密码,下面有两种,应该有你要的。
<html>
<head>
<title>用户注册</title>
<scripttype="text/javascript"language="javascript">
functioncheck()
{
with(){
if(!=)
{
alert("您的密码不一致,请重新输入!");
="";
="";
}
[0]();
}
}
</script>
</head>
<body>
<center>
<formaction="addUserServlet"method="post"name="myform">
<h2>用户注册</h2>
<br>
用户名:<inputtype="text"name="newuser">
<br>
原密码:<inputtype="password"name="password1">
<br>
新密码:<inputtype="password"name="password2">
<br>
<inputtype="button"value="提交"onclick="check()">
<inputtype="reset"value="重置">
</form>
</center>
</body>
</html>
上面就是用script来比较,如果不相同,就会弹出一个窗口显示密码不一样然后清空密码框,如果两个密码相同就跳转acction地址。
上面是注册时候用的。
如果本身就有用户名和密码而你想要获取数据库里面的密码的话你还需要一个servlet以及一个数据库连接类。
下面应该是你要的东西,获取数据库里面的密码和用户名并且与输入的进行比较:
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
StringuserName=("username");//取得用户名
Stringpassword=("password");//取得密码
DBTestdb=newDBTest();
booleancanLogin=(userName,password);
if(canLogin){
("登陆成功");
}else{
("用户名或密码错误");
}
}
数据库连接类:
;
;
;
;
;
publicclassDBTest{
booleanbInited=false;
//加载驱动
publicvoidinitJdBC()throwsClassNotFoundException{
//加载MYSQLJDBC驱动程序
("");
bInited=true;
("SuccessloadingMysqlDriver!");
}
publicConnectiongetConnection()throwsClassNotFoundException,SQLException{
if(!bInited){
initJdBC();
}
Connectionconn=("jdbc:mysql://localhost:3306/test","数据库用户名","连接数据库的密码");
returnconn;
}
publicbooleanloginSuccess(StringuserName,Stringpassword){
booleanreturnValue=false;
Stringsql="select*fromuser";
Connectionconn=null;
=null;
ResultSetrs=null;
try{
conn=getConnection();
stmt=();
rs=(sql);
while(()){
StringuserNameInDB=("name");
StringpasswordInDB=("pwd");
if((userName)&&(password)){
returnValue=true;
break;
}
}
}catch(ClassNotFoundExceptione){
//TODO:handleexception
();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
();
}
returnreturnValue;
}
}
上面没有做中文处理,中文用户名应该会错误,你自己做吧
原创的,你试试
redis对象操作setTimeout(),在哪里可以查到用法?
redis对象操作setTimeout()的用法如下:setTimeout, expire设定一个key的活动时间(s)$redis->setTimeout(x, 3);有关redis的一系列set操作总结如下://SET 集合的相关操作// sadd 集合添加数据 初始化数据for($i=0; $i < 10 ; $i++){$redis->sadd(myset,$i+rand(10,99));}//srem 删除集合中的一个元素$bool = $redis->srem(myset,16);echo (int) $bool;//sMove 将value元素从名称为srckey的集合移到名称为dstkey的集合$bool = $redis->sMove(myset, myset1, 35);echo $bool;//smembers 显示集合中的元素$data = $redis->smembers(myset);// sIsMember, scontains 名称为key的集合中查找是否有value元素,有ture 没有 false$bool = $redis->sismember(myset,555);echo (int)$bool;//scard ssize集合key元素的个数echo $redis->scard(myset); //sInterStore//求交集并将交集保存到output的集合//$redis->sInterStore(output, key1, key2, key3)$redis->sinterstore(output,myset,myset1);$data = $redis->smembers(output);echo
;print_r($data);// sUnionStore求并集并将并集保存到output的集合//$redis->sUnionStore(output, key1, key2, key3);$redis->sunionstore(uoutput,myset,myset1);$data = $redis->smembers(uoutput);echo;print_r($data);//sort// 排序,分页等// 参数// by => some_pattern_*,// limit => array(0, 1),// get => some_other_pattern_* or an array of patterns,// sort => asc or desc,// alpha => TRUE,// store => external-key$data = $redis->sort(myset,array(sort=>desc));echo;print_r($data);//ZSET 有序集合的相关操作//zadd添加元素 zAdd(key, score, member):for($i=0; $i < 10 ; $i++){$redis->zadd(zset,$i+rand(10,99),$i+rand(100,999));}//zrangezRange(key, start, end,withscores) 返回指定范围的元素//zRevRange(key, start, end,withscores):返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素: 是否输出socre的值,默认false,不输出//zRangeByScore, zRevRangeByScore//$redis->zRangeByScore(key, star, end, array(withscores, limit ));//返回名称为key的zset中score >= star且score <= end的所有元素$data = $redis->zrange(zset,0,3,withscores);//end -1 返回所有元素加withscoreswithscores做值 使用echo;print_r($data);//zDelete, zRem//zRem(key, member) :删除名称为key的zset中的元素member$redis->zrem(zset,456);//zCount//$redis->zCount(key, star, end);//返回名称为key的zset中score >= star且score <= end的所有元素的个数echo $redis->zcount(zset,10,50);//zRemRangeByScore, zDeleteRangeByScore$redis->zRemRangeByScore(key, star, end);//zremrangebyscore 删除 socre 大于star score 小于 end d的元素//删除名称为key的zset中score >= star且score <= end的所有元素,返回删除个数//zScore 返回名称为key的zset中元素val2的scoreecho $redis->zScore(zset, 503);//zRank, zRevRankzrank(set,value) 返回value 在集合中的位置 索引从0开始echo$redis->zrank(zset,723);//zIncrBy//$redis->zIncrBy(key, increment, member);//如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment//zUnion/zInter 就集合的合集和交集//HASH 哈希的相关操作//hset 初始化数据for( $i=0; $i < 10 ;$i++){$redis->hset(myhash,$i,rand(10,99)+$i);}//hget(myhash,key1) 返回哈希 myhash 中键为key1的对应的数值echo $redis->hget(myhash,0);//hLen 返回名称为h的hash中元素个数echo $redis->hlen(myhash);//hDel 删除名称为h的hash中键为key1的域echo $redis->hdel(myhash,0);// hKeys返回名称为key的hash中所有键$data = $redis->hkeys(myhash);//hVals返回名称为h的hash中所有键对应的value$data = $redis->hvals(myhash);//hGetAll 返回名称为h的hash中所有的键(field)及其对应的value$data = $redis->hgetall(myhash);echo;print_r($data);//hExists 判断某个hash的对应的键是否存在echo $redis->hexists(myhash,0);//hMset 向名称为key的hash中批量添加元素$redis->hmset(user:1,array(name1=>name1,name2=>Joe2));//hMGet 返回名称为h的hash中field1,field2对应的value$data = $redis->hmget(user:1, array(name, salary));echo;print_r($data);//Redis 相关操作//flushDB 清空当前数据库//flushAll 清空所有数据库//select 选择数据库//$redis->select(0);//move 把key1 移动到数据库2 $redis->move(key1,2);//rename, renameKey 给key从新命名//renameNx与remane类似,但是,如果重新命名的名字已经存在,不会替换成功//setTimeout, expire 设置key的生命时间$redis->settimeout(user:1,10);//expireat 指定一个key的生命时间为一个时间戳//expireAtkey存活到一个unix时间戳时间$redis->expireat(myhash,time()+ 10);//dbSize查看现在数据库有多少key $count = $redis->dbSize();//auth 密码认证$redis->auth(foobared);//bgrewriteaof使用aof来进行数据库持久化$redis->bgrewriteaof();//slaveof 通过执行 SLAVEOF host port 命令,可以将当前服务器转变为指定服务器的从属服务器(slave server)。$redis->slaveof(10.0.1.7, 6379);//save将数据同步保存到磁盘//bgsave 将数据异步保存到磁盘//lastSave返回上次成功将数据保存到磁盘的Unix时戳//info 返回redis的版本信息等详情echo;print_r($redis->info());// type 返回key的类型值 1-5 //string: Redis::REDIS_STRING 1//set: Redis::REDIS_SET 2//list: Redis::REDIS_LIST 3//zset: Redis::REDIS_ZSET 4//hash: Redis::REDIS_HASH 5//other: Redis::REDIS_NOT_FOUND 6echo $redis->type(myset); //2
发表评论