captcha

验证码:请证明你是人类

試著忘記壹切 提交于 2020-11-14 12:54:34
来源|theverge 出品|大数据文摘 编译 | 吴瑕 谷歌、新浪的登录页面一直以来都在要求人们证明自己是人类, 最近,这样的考题更是来势汹汹。 那个原本十分可爱的“我不是机器人”按钮,追加了越来越多证明不是机器人的要求——在一系列图像中选出含有交通灯、人行道和店面的图片。很快,交通灯被远处的树叶遮盖了,人行道变得弯曲并且会有一半消失在拐角处,店面的招牌也被模糊处理并换成了韩文。特别是像12306这样的购票网站出现的验证码堪比连连看,每年都能难倒一大批登录者。 这些测试被称为CAPTCHA,是Completely Automated Public Turing test to tell Computers and Humans Apart(区分电脑和人的完全自动化公共图灵测试)的首字母缩写,这些测试水平早前就已经达到了不可思议的高度。 在21世纪初,简单的文字图片就足以让大多数垃圾邮件程序束手无策。但是十年后,当谷歌从卡内基梅隆大学的研究人员那里购买了这个程序,并用来使谷歌图书(Google Books)实现数字化时,文本就必须变得越来越扭曲和模糊,以便保持领先于改进的光学字符识别程序(所有参与CAPTCHA测试的人都在间接地帮助改进此程序) 这就是人类与机器博弈的终局。 由于验证码是一个十分优雅的人工智能训练工具,所以任何给定的测试都只能是暂时的

深度学习文字识别

我只是一个虾纸丫 提交于 2020-11-13 09:30:30
Blog : https://blog.csdn.net/implok/article/details/95041472 步骤 : 文字识别是AI的一个重要应用场景,文字识别过程一般由图像输入、预处理、文本检测、文本识别、结果输出等环节组成。 分类 :文字识别可根据待识别的文字特点采用不同的识别方法,一般分为定长文字、不定长文字两大类别。 定长文字(例如 手写数字识别 、 验证码 ),由于字符数量固定,采用的网络结构相对简单,识别也比较容易; 不定长文字(例如印刷文字、广告牌文字等),由于字符数量是不固定的,因此需要采用比较复杂的网络结构和后处理环节,识别也具有一定的难度。 一、定长文字识别 定长文字的识别相对简单,应用场景也比较局限,最典型的场景就是验证码的识别。由于字符数量是已知的、固定的,因此,网络结构比较简单,一般构建3层卷积层,2层全连接层便能满足“定长文字”的识别。 手写数字识别 MNIST是一个经典的手写数字数据集,来自美国国家标准与技术研究所,由不同人手写的0至9的数字构成,由60000个训练样本集和10000个测试样本集构成,每个样本的尺寸为28x28,以二进制格式存储,如下图所示: MNIST手写数字识别模型的主要任务是:输入一张手写数字的图像,然后识别图像中手写的是哪个数字。 该模型的目标明确、任务简单,数据集规范、统一,数据量大小适中

React Native之倒计时组件的实现(ios android)

僤鯓⒐⒋嵵緔 提交于 2020-11-13 05:22:35
React Native之倒计时组件的实现(ios android) 一,需求分析 1,app需实现类似于淘宝的活动倒计时,并在倒计时结束时,活动也结束。 2,实现订单倒计时,并在倒计时结束时,订单关闭交易。 3,实现获取验证码倒计时。 二,技术实现 2.1,活动倒计时与订单倒计时的实现,源码如下: 1 componentDidMount() { 2 this .interval = setInterval(() => { 3 const date = this .getDateData( this .props.date); 4 if (date) { 5 this .setState(date); 6 } else { 7 this .stop(); 8 this .props.onEnd(); 9 } 10 }, 1000 ); 11 } 12 componentWillMount() { 13 const date = this .getDateData( this .props.date); 14 if (date) { 15 this .setState(date); 16 } 17 } 1,倒计时方法的实现: 1 getDateData(endDate) { 2 endDate = endDate.replace(/-/g, "/" ); 3 let diff =

阿里云短信发送

随声附和 提交于 2020-11-08 09:13:14
    阿里云短信平台,可以提供三种短信模板形式(1、验证码模板;2、通知类消息模板;3、推广短信模板)     验证码模板形式:验证码${code},您正在进行身份验证,打死不要告诉别人哦!     通知类消息模板:尊敬的${name}用户,恭喜您成功注册为本商城的会员用户,相信本商城会为您带来良好的体验效果,祝您生活愉快!     推广短信模板:短信测试,短信测试,短信测试,短信测试,短信测试,短信测试     (注:推广短信模板无需参数,其他两个均需要)     (注意:以下方法基本放在service层) 一、开发前准备     1、下载SDK工具包     SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dysms-api包,将这两个包执行mvn package命令或者mvn deploy命令打包出相应的jar包,添加到工程类库中依赖使用。     SDK&DEMO[ 下载地址 ] 二、编写代码     1、编写短信统一处理函数     SendSmsResponse send(String mobiles, String content, String TemplateCode);     返回值:SendSmsResponse (用于确定是否发送短信成功),判断条件:      if

臭名昭著的手机验证码功能是如何实现的

半腔热情 提交于 2020-10-29 07:45:58
前言 现在基本上各种手机 APP 注册都会用到手机验证码,包括一些 PC 端网站也会使用手机号作为唯一标识验证! 恰巧,小明的老板,让其开发一个用户注册的功能,并且强制用户注册绑定手机,美其名曰为了提升安全性,呵呵哒,就是为了多撸一点用户信息。 案例 一般来说,发送手机验证码不能过于频繁,前端发送按钮点击后一般会有一个 60 秒倒计时的功能。也就是说,如果用户点击发送一直没有收到验证码,只能60秒之后才可以进行重发。 那么问题来了,如果用户绕过前端,直接向后台 API 发送短信请求,然后写个无限循环脚本,相信不久你的短信账户就会发来预警提示短信(一般来说大的短信商都有预警设置功能)。 其实很简单,你只需要 F12 ,查看发送请求就可以查找出后台请求地址,然后你可以在控制台输入相关 JS 代码,执行个十万遍,是不是很爽? 这里以七牛云为测试案例,打开注册页面,F12进入调试模式,输入手机号,手动点击发送,获取其短信发送后台请求地址。下面是七牛云的一个短信发送请求,撸主测试了一下,显然没有达到撸主的预期,毕竟是大厂,防御措施还是做的很牛逼的。 以下是 JS 脚本,复制粘贴到控制台回车就可以执行: var data = {"operation":1,"is_voice":false,"mobile_number":"17762018888","captcha_type":2};for

知乎模拟登陆

只谈情不闲聊 提交于 2020-10-28 09:43:11
经常在简书上写作,写完后再发布到其他网站,非常麻烦,所以准备搞一下自动发布文章的工具。那么第一步先要模拟登陆几个网站。今天先从知乎开始。 环境准备 Python:python3.6 IDE:pycharm 抓包工具:Charles 系统环境:Mac 浏览器:Chrome 抓包 首先进行网站登录抓包,打开Chrome浏览器无痕窗口,然后清空所有缓存,打开Charles,在Chrome浏览器地址栏输入www.zhihu.com,打开知乎登录界面 我是手机号登录,邮箱没有试过,不知道请求流程是否一样,输入账号密码,如果需要验证码的话会自动出现验证码输入框,登录成功后 一般情况下我们可以输错一次密码或者验证码,来多看看请求流程。另外我用chrome浏览器抓取了好几次登录流程,发现都不一样。所以最后就是综合了一下几次抓包的信息进行分析了。 登录分析 找到登录请求 登录请求一般是POST,这个很少有例外,有些网站一般会是第一个post请求,可是知乎的post请求有点颇多,这个请求中有username和password,那我们就以这里为基准开始分析。看一下红框中出现了两个Authentication和Multipart,在其他的登录网站中我还没碰到过这种情况,这个Multipart好像之前的Form,Authentication应该是一种认证。 先搜了一下这个Authentication信息

[Hei.Captcha] Asp.Net Core 跨平台验证码实现

六月ゝ 毕业季﹏ 提交于 2020-10-24 07:55:31
写在前面 说起来比较丢脸。我们有个手机的验证码发送逻辑需要使用验证码,这块本来项目里面就有验证码绘制逻辑,.Net Framework的,使用的包是 System.Drawing ,我把这验证码绘制逻辑复制到.Net Core的新项目引用对比包 System.Drawing.Common ,windows下面验证码正常,CentOs下面死活不能正常,像这样: (左边为CentOs运行结果,右为Windows) 依赖库检查安装; 字体检查安装; 逻辑检查; 折腾了一天多放弃了,决定重新写。 我看了市面上的各种验证码,使用第三方的,免费的都有很多限制,并随时有可能开始收费(用户量上去后就收费,俗称“养猪”); 有些比较大平台的已经开始收费或者即将收费(无可厚非,不点名); 视野有限,没有都一一了解到,如果有免费的,限制又比较少的,使用体验不错的第三方验证码,欢迎留言~~ 综上,我决定自己绘制 选择图片绘制库 GitHub上面我看到比较多星的是: SixLabors / ImageSharp dlemstra / Magick.NET mono / SkiaSharp 综合考虑后选择了:ImageSharp 官方文档:https://sixlabors.github.io/docs/ 成果 Hei.Captcha 一个.net core,跨平台的验证码生成工具包,基于ImageSharp

数学家的亿万商业王国:创建“验证码”和“多邻国”,20岁就被盖茨挖去微软...

倾然丶 夕夏残阳落幕 提交于 2020-10-14 19:34:35
Luis Von Ahn是一位才华横溢的数学教授,我们登录新网站或APP时经常用到的验证码(CAPTCHA),还有一款语言学习软件“多邻国”(Duolingo),都是他创建的。 > > > > 就连比尔·盖茨都花了45分钟才说服当时年仅20多岁的危地马拉数学教授Luis去微软工作。 显然,Luis和微软是一个爆炸性的组合,验证码正是Luis的创意。而这个创意诞生一周后由雅虎实施,几年后被谷歌收购。Luis的第二个孩子“多邻国”(Duolingo)则在推出两年后估值达到2000万美元, 现今已达到15亿美元。 对我们这些普通人来说,只是花几秒时间填写一下验证码(单词类),却不曾想到 我们每年竟然能在无形当中完成230万本图书的数字化 。对我们来说,Duolingo也是一个学习语言的平台,没想到原来 用户在学习过程中就帮助Duolingo赚了钱 ,因为凭借大家的力量,几周内就可以将CNN和纽约时报多年以来的全部内容翻译成其他语言,然后向这些新闻机构要翻译费。 看,这些都是Luis想出来的。 验证码可不是白填的,用户每年竟在无形当中完成230万本书的数字化 有一天,一位雅虎的顶尖研究人员兼人才侦察员来到Luis Von Ahn的学校,做了一场题为“雅虎最难解决的十个问题”的演讲。他们的问题之一,是垃圾邮件发送者会使用自动软件创建数以百万计的假电子邮件地址,然后将广告一堆堆地发送出去