搜索引擎技巧 网站强制更新 分页原理 实体编码 验证码作用 识别验证码
- 2020-03-05 20:50:00
- admin
- 原创 1883
一、搜索引擎技巧
1、搜索指定站点site:domain 关键字,搜索指定文件类型filetype:pdf 关键字;
2、robots.txt文件用于告诉搜索引擎可以访问哪些文件,不可以访问哪些文件;
二、网站强制更新
1、前端页面编码当前服务版本;
2、后端提供接口获取当前服务版本;
3、比对前端版本和后端版本,不一致则强制更新windows.location.reload(true);
三、分页原理
1、首页查询:查询数据总量和首页数据;
2、换页查询:基于前一页的数据索引查询换页数据;
3、分页排序:可以后端全局排序,可以前端局部排序;
四、实体编码
1、实体编码用于输出某些无法做为普通文本显示的字符;
2、实体编码支持实体名称、十进制实体编号、十六进制实体编号;
3、比如双引号可以编码:" " "
4、BurpSuite编解码工具支持实体编码转换;
实体编码:
1、<:<
2、>:>
3、&:&
4、空格:
5、双引号:"
6、单引号:'
五、验证码作用
验证码作用:
1、验证码可以在真正操作之前进行一次校验,防止暴力攻击比较有效;
2、如果验证码能够破解,但比较困难,可以在验证码验证失败时刷新;
3、如果验证码非常容易破解,这个时候只能借助频控防止暴力攻击;
验证码原理:
1、后台生成4位随机码,包含字母和数字,并写入会话;
2、使用随机码生成图片返回给前端展示,需要使用彩色图片;
3、验证成功之后验证码失效,验证失败之后验证码仍然有效,频繁失效验证码会导致性能问题;
六、tesseract识别验证码
1、官方网址:https://github.com/tesseract-ocr/tesseract
2、win命令行:https://github.com/UB-Mannheim/tesseract/wiki
3、win图形界面:https://github.com/manisandro/gImageReader
4、识别文字:tesseract imagename -,输出到命令行
5、识别文字:tesseract imagename outputbase,输出到文件
七、ddddocr识别验证码
1、官网地址:https://github.com/sml2h3/ddddocr
2、包含两套模型,默认使用旧模型,通过beta=True切换到新模型;
3、ocr.set_ranges(int|str)设置识别字符集,int是内置字符集,str是自定义字符集;
识别示例:
import ddddocr
ocr = ddddocr.DdddOcr(beta=True)
image = open("example.jpg", "rb").read()
result = ocr.classification(image)
print(result)
限定识别字符集:
import ddddocr
ocr = ddddocr.DdddOcr(beta=True)
ocr.set_ranges('ABCDEFG')
image = open("example.jpg", "rb").read()
result = ocr.classification(image, probability=True)
s = ''
for i in result['probability']:
s += result['charsets'][i.index(max(i))]
print(s)