-
保证登录安全-03-图片验证码与短信验证码
图片验证码
作用
当一个操作,涉及到用户隐私安全,或者代价比较高的时候。需要考虑到结合图片验证码。
比如登录接口,如果没有图片验证码。
那么,可能会被恶意用户暴力破解,造成服务器压力较大,或者用户安全隐患。
实现方式
安全性的基础
安全的基础,是因为图片识别的成本较高。
而生成图片的难度不算太高。
但是这一切都有一个很大的假设,那就是图片识别的成本较高,机器无法暴力破解。
...
2022-02-18 13:01:55 |
Safe
-
保证登录安全,用户弱口令检测 weak password
弱口令
是什么
弱口令一般指安全性比较低的密码。
比如 123456 或者 iloveyou 之类的。
危害
很容易被字典暴力破解。
如何避免
让用户设置密码是,最少为 6 位。
密码的复杂度
不要限制一堆大小写,之类的。
需要进行平衡,如果有一对大小写,避免有子母/数字会导致密码非常复杂。
用户会经常忘记密码。
密码的安全性
密码的复杂度越高,一般安全性也就越高。...
2022-02-18 13:01:55 |
Safe
-
互联网公司如何保证用户私人信息安全?数据的加密和脱敏
海绵宝宝的烦恼
海绵宝宝非常喜欢网上购物,这让他感觉到被资本腐朽的快乐。
但是有一件事他一直觉得很麻烦,快速上的收件单写满了他的个人信息,撕起来还很麻烦。
快递单号:202202181111
收件人姓名:海绵宝宝
收件人手机:138 8888 8888
收件人地址:太平洋比基尼海滩比奇堡镇贝壳街124号的波萝屋
备注:暗号是天王盖地虎
你有没有遇到过和海绵宝宝一样的烦恼呢?又是...
2022-02-18 13:01:55 |
Safe
-
java 如何判断字符串是否为邮箱?email 邮箱正则表达式怎么写?怎么样可以实现最高性能的邮箱匹配?
背景
希望判断一个字符串是否为邮箱。
实际验证一下
1. 简单的
详细解释一下这个邮箱正则:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
chat:
这个正则表达式用于验证电子邮件地址的基本格式。下面是对该正则表达式的详细解释:
^: 表示匹配字符串的开始。
[a-zA-Z0-9_-]+: 匹配邮...
2022-02-18 13:01:55 |
Safe
-
从零开始设计一个全文检索查询引擎-02-es 中有表的概念吗?
数据库
在数据库中,我们有 database 和 table 的概念。
我们在 ES 中有这些概念吗?
ES 中表的概念
ES(Elasticsearch)是一个基于Lucene构建的开源搜索引擎,主要用于实时搜索、分析和存储大规模数据。
在Elasticsearch中,没有直接的表(table)的概念,而是通过索引(index)、类型(type)和文档(document)来组织和...
2022-01-29 13:01:55 |
Lucene
-
从零开始设计一个全文检索查询引擎-01-overview?
业务背景
现在时代,一个全文检索的需求其实非常常见。
针对博客文章的查询,针对商品信息等检索,针对网页的检索。
这些如果采用传统的 like 模糊查询实现,在数据量特别大的时候,是行不通的。
本引擎简化实现 lucene,实现一个简单易用的全文检索引擎。
核心理念
最核心的功能:
添加字段信息,对应的文本,可以执行分词存储。
根据关键词,可以检索对应的信息。
对应 luce...
2022-01-29 13:01:55 |
Lucene
-
lucene 从零手写实现-05-lucene 核心类源码浅析
lucene 例子
在Lucene中,权重计算是由 Similarity 类及其子类负责的。
以下是一个简单的Java示例,演示如何使用Lucene的TFIDFSimilarity来计算文档的权重。
请注意,以下示例使用Lucene的版本为8.x。
具体实现可能会根据Lucene版本而有所不同。
首先,你需要添加Lucene的依赖:
<!-- Add Lucene depe...
2022-01-29 13:01:55 |
Lucene
-
lucene 从零手写实现-04-design 如何设计 lucene 全文检索
chat
如果想实现一个简易版本的 lucene,有哪些核心功能要实现?
Lucene是一个强大的全文检索引擎,实现一个简易版本的Lucene需要考虑以下核心功能:
分词(Tokenization): 将文本拆分成词语的过程。实现一个简单的分词器,将文本分解为基本的单词或词元。
建立倒排索引(Inverted Index): 将文档中的词语映射到其所...
2022-01-29 13:01:55 |
Lucene