网站频率限制的一些参考

逻辑:

以用户的唯一标示为键,再以用户的访问记录的列表为值;在用户下一次访问时判断列表的最后一个是否小于(当前时间-频率时间);如果小于,则剔除;
然后再判断列表的长度时候超过频率数,如超过,则return false,else true

数据结构:

{
192.168.1.2:[234234234,234234228,234234210],
192.168.1.3:[234234234,234234228,234234210],
}

参考代码:

#!./usr/bin/env python
# -*- coding: utf-8 -*-
# Date: 2019/2/28

iterable = {'user': 'alex', 'user1': 'wusir', 'user2': 'xdc'}
values = {'user': ['sch']}
other_value = 'test'

# demo1
for element in iterable:
    if element not in values:
        values[element] = []
    values[element].append(other_value)

print(iterable)  # {'user2': 'xdc', 'user': 'alex', 'user1': 'wusir'}
print(values)   # {'user2': ['test'], 'user': ['sch', 'test'], 'user1': ['test']}


# demo2
for element in iterable:
    values.setdefault(element, []).append(other_value)

print(iterable)  # {'user2': 'xdc', 'user': 'alex', 'user1': 'wusir'}
print(values)   # {'user2': ['test', 'test'], 'user': ['sch', 'test', 'test'], 'user1': ['test', 'test']}

猜你喜欢

转载自www.cnblogs.com/sunch/p/10448922.html