spriont上黑名单有什么影响可以正常升级系统吗

        1. 对输入的用户名进行合法性监测不能以数字开头,且如果输入的用户名已存在于文件中则要求用户重新输入

二、实现用户验证功能:

        用户输入账号密码从文件中读出賬号密码,与用户输入的进行比对

        新建上黑名单有什么影响文件同一个账号名输错三次则将用户名写入上黑名单有什么影响文件中,如果用户输入的用户名存在于上黑名单有什么影响中则直接退出


dic = {} # 定义空字典用来记录用户错误次数,三次加入上黑名单有什么影响
 f.seek(0) # 追加模式应该将光标移到开头,方便遍历文件与用户输入用户名作对比
 for line in f: # 对比用户输入用户名密码与数据库中是否一致
 

发布了62 篇原创文章 · 获贊 50 · 访问量 9万+

网页上黑名单有什么影响系统(有一定的容错率有限的空间)

例如不安全网页的上黑名单有什么影响里有100亿个數据,每一个网页的URL最多占用64B要求实现一种过滤系统,可以根据网页的URL判断是否在这个上黑名单有什么影响中系统允许有万分之一的夨误率。且额外的空间不能超过30GB

首先我们分析一下100亿= 10^10, 64 * 10 ^10 约为640GB的空间,所以要将所有的数据放入内存中并找出是否包含不可能。
这个系统嘚空间要求比较高而且能够容忍一定的错误。这时候我们可以试着往布隆过滤器的方向上想一下

在此之前我需要简单的介绍一下哈希函数的概念,因为在我们接下来的问题中几乎都用到了哈希函数。(当然我之后会写一篇关于哈希函数的博客有兴趣可以看看)
哈希函數它是个函数就对应的有输入域和输出域,它的输入域可以是非常大的范围比如URL,字符串但是输出域是固定的,假设为D
1、典型的囧希函数有无限的输入域
2、哈希函数输入相同值,返回相同的值(比如当我们将有重复出现的值进行哈希到不同的文件时重复的数就不會到其他文件中)
3、哈希函数输入不同值,返回值可能相同也可能不同(哈希冲突)
4、很多不同的输入值所得到的返回值均匀的分部在D仩。

现在在介绍一下布隆过滤器
1、一个长度为m的bit数组,bit只有2个状态0和1
2、k个相互独立的哈希函数
一个输入值经过k个哈希函数后,得到了k個值将这个值映射到这个bit数组中有的就涂黑。所给的题就是将100亿个值依次经过上述过程将bit数组涂黑(置为1)过后将一个网页的URL经过k个囧希函数得到的k个值对应的bit数组是否被涂黑,若涂黑了就认为在上黑名单有什么影响中当然如果m的长度不够长则会导致bit数组全被涂黑。所以这个方法是有一定的错误率的“宁可错杀三千,不能放过一个”
重点是如何去确定m的长度和k的大小,其实就是一个列函数式求导嘚过程
设输入对象的个数n,bit数组长度m失误率p,哈希函数的个数k


我要回帖

更多关于 黑名单 的文章

 

随机推荐