本项目将会限制同一个昵称发送完全相同信息的频率。两次完全相同的信息的发送时间间隔不少于120秒。
复述,天然就具有实现这一功能的能力。在复述中,关键可以设置过期时间。时间到了后
红色会自动删除这个关键。
那么如果设置一个字符串呢?主要为:“昵称——发言内容”,例如“青南——我在灌的水”,然后把这个关键的过期时间设置为120秒。这个字符串的值无所谓,随便设置为什么都可以。那么:如果要这个关键在复述中,则说明这个用户昵称在120秒内己经发送过这条信息了:如果这个关键不在复述中,则说明这个用户从来没有发送过这条信息,或者发送己经超过了两分钟,钥匙被复述,自动删除了。
而且,复述,可以使用“时”命令查询一个关键的过期时间还剩多少秒,这样还可以实现提醒功能。
<强> 强>
设置关键的过期时间的方法为set_nick_msg_expire_time(),修改代码如下:
其中,主要代码说明如下:
?第13行代码:先把信息转换为MD5。这样做的好处是:缩短信息的长度,避免太长以致于导出超出复述,关键的限制。
?第14行代码:把用户昵称与消息的MD5值拼成一个长字符串,作为关键。
?第15行代码:在复述中设定一个字符串,主要为“昵称+消息的MD5值”,值为1;通过前女友参数设定过期时间为120,过期时间一到复述,就会删除这个关键
修改后的代码如图6 20所示。
当用户要发送新内容时,网站先检查红色是否有“昵称+新信息MD 5值”这个关键。
?如果有,则说明用户在120秒内发送了相同的内容。此时返回解除刷屏限制的剩余时间。
?如果没有,则返回没有。
1。设置查询限制刷屏时间的方法
对应的方法为get_ nick_ msg_ expire_时间()。完善以后的代码如下:
其中,主要代码说明如下。
?第1 6行代码:获得消息的MD5值。
?第17行代码:把昵称与消息的M D5值拼成一个关键。
?第18行代码:使用复述的“时”命令检查关键的剩余时间。如果关键不存在,则返回没有;如果关键没有过期时间,返回1;如果关键有过期时间,返回剩余时间(正整数)。
修改后的代码如图6 - 21所示。