首页 > 前端开发 > 正文

web前端开发短信验证功能 被验证码轰炸有危险吗?

2023-10-16 20:22:52 | 我爱编程网

web前端开发短信验证功能 被验证码轰炸有危险吗?相关内容,小编在这里做了整理,希望能对大家有所帮助,关于web前端开发短信验证功能 被验证码轰炸有危险吗?信息,一起来了解一下吧!

web前端开发短信验证功能 被验证码轰炸有危险吗?

开发一个app需多少钱

作为一名苦逼的移动互联网创业者,被外行的朋友们问及最多的问题是“做一个网站需要多少钱?”或者“做一个APP需要多少钱?”

3年前,天真的我认为做一个APP顶多5000块钱,网站2000块以内就能搞定。高于这个价格就是唬小孩。后来我确实花过1000块钱买了个模板网页,5000块钱买个模板APP,干了这些傻事。最后的结果就像淘宝上的买家秀和卖家秀的天差地别,钱打了水漂。

本着信天信地不信邪的原则,我们开始组建自己的技术团队,从UI,到后台,前端,安卓,苹果各类程序员和产品经理,组成了一个最基本的APP开发团队。到现在已经做过五个APP,其中三个都获得了融资,另外两个是政府扶持项目。给团队发了将近一年工资,对于一个APP从无到有的开发到底要花多少钱,实在是再清楚不过。

今天从创业者的角度一起来算一下需要付出多少成本

首先,如果你也是创业者,而且满腔热血,那么产品就必须自己开发。因为创业是很牛逼的事,所有的环节都要最好的。把产品技术开发交给外包难免不放心,当时我们也是这么想的。自己懂技术,是相关专业出身还好。但据我了解,一般的创业者难免都不懂。所以,如果你要做一个APP,以此为切入点,首先需要知道至少需要哪些人员配置。

招兵买马

包含研发一个新产品过程中一些常见的工作,架构师兼后台开发1名+安卓1名+iOS开发1名+产品经理1名+前端开发1名+设计师1名,而且你不能保证你招来的每一个岗位都会有符合的人来,或者突发变故,导致开发停滞,还得有人能抢险。创业公司员工任职不稳定可是很正常的现象。估计一般的创业者都想越快越好的让产品开发上线,假设你想的的产品上线期3~6个月。

第一步:招人

北上广一线深城市还好,只要资金充裕人才不愁,简历丰富挨个筛选。但是在常州这样的二三线城市,一个WEB前端足足招了7个月才有人投简历上门面试。更为可怕的是我们同时付费在“拉勾”“前程无忧”“智联招聘”甚至“赶集”这些非专业平台以及朋友圈,各种无限寻找的情况下。我们从第一个人入职,到团队勉强能够开工一共花了5个月招聘时间。

这里有一个比较好的经验,先把所有的力气去寻找一个志同道合的技术总监,高薪是必须的。但是薪资高了他可以在开发上帮你少走弯路省回来。

所以第一步的花费大概是--招聘平台网站会员费:平均1000元/家*3=3000元。然后是假设你3个月就招聘齐活儿了。

这三个月平均要发4个人工资,试用期内薪资80%算,而且还不用五险一金。常州此类人才一般需要招聘至少有过一年以上开发经验的,要不然开发质量难以保障。

这样人才平均薪资大概在8K左右。所以这三个月你要发(8000元*80%试用期*4个人*3个月=76800).

第二步:场地

8人团队可以选择中低端的办公场所,这类的办公场所在常州大约是70元/_,大约需要100平米,并不是很好找。

创业孵化器是很不错的选择。在现在的大背景下,孵化器现在很多很容易找。孵化器的租金会比较便宜甚至免费,在接纳创业团队之前一般会签署协议,需要以场地作为股权置换条件,或者是优先投资权。至于孵化器是否划算,得创业团队自己掂量。算上水电、物业,一个月10000左右算比较节省。

第三步:设备

普通的人体工程学椅子价格在150元左右,如果不买工程学椅子用普通的椅子代替,加上桌子平摊成本,桌椅需要200左右。这些一次性付出,6000元可以搞定吧,拍脑袋也得付。

加上设计师和程序猿电脑,配置在4000一台,一共七台包括一台IOS机。开发移动APP需要提供样机,二手就行,安卓系统4部,2000元一部,苹果系统也要4部,3500一部。 我爱编程网

好,算一算6000元+4000元*7+2000元*4+3500*4=56000元

第四步:工具齐活,正式开始

APP开发之前,你知道自己想做个什么样的APP软件,但一般不知道自己具体要做什么东西,需求是什么,产品定位是什么。这时候产品经理就需要出马,跟老板各种沟通、理清需求、找产品定位。

这阶段大概需要花费两周,好说歹说仔细分析,才会把产品的定位、一期的需求想清楚。期间架构师可以开始构思产品的技术架构,还未能正式开工。产品定位以及早期的需求确定出来之后,需要构思产品名称、需求调研、竞品调研分析、注册域名、购置服务器以及周边基础能力(如CDN存储、短信服务、消息推送等)、商标(未注册商标、很多团队就是吃了这个亏)、抢注域名、设计logo。这阶段如果不中途改变计划、不变更产品需求和定位的前提下,最起码花费一周时间。这时候产品的原型、技术架构的雏形也呈现,基本可以进入真刀真枪的干活。

这一步假设域名不需要花大价钱购买,全部费用算起来拍脑袋15000元/年。

其中短信2000,服务器1000一个月。域名等商标注册2000一个,商标,软著,LOGO一次性投入有10000左右

第五步:产品版本策划、架构设计

看似一切都准备就绪之后,产品开始整理需求,按照需求优先级规划版本。架构师按照产品的发展方向构想,开始着手进入开发环境、生产环境部署、基础代码研发阶段。

很有必要提一下的是,做APP比较常见的两种功能实现方式有native原生和webview方式,这两种方式的优劣不在本文的讨论范围,一般为了保证体验,以原生的方式为主,webview的方式为辅。以原生的方式做开发,版本是尤为重要的。

其一,APP开发完成之后,需要把上架到APPstore(假设我们只上iOS和安卓),iOS的APPStore有冗长的应用审核周期,你必须提前把往后几个中小版本的功能规划好了才不至于在这个环节自乱阵脚;

其二,你的APP安装到用户的手机上时你肯定希望他大部分时候运行的都是最新的版本,如果你的版本更新过于频繁,用户也会嫌烦。

看起来过程似乎非常顺利,产品经理把产品的思路理清之后,开始准备产品V1.0的规划。

新产品从无到有常见的工作:

(1)产品官网,产品官网是产品、公司、团队的脸面,让用户进入之后能以最快的速度了解你的定位以及产品特性,也就是什么样的人在为解决什么样的问题,做着什么样的事情。

(2)用户协议。是的,如果用户要注册、使用你的产品,你得起草你的用户协议,跟律师或法务不断沟通调整。

(3)种子用户。你要思考你的第一批种子用户从哪里来,如何组织,怎么管理,他们是检验你产品的第一群人,对于验证你的产品定位、发现产品问题、提升产品体验来说至关重要。

(4)基础数据上报规划。你要知道产品一旦发布,在对用户行为一无所知的情况下,需要收集什么数据来优化、调整你的产品设计,思考你的产品方向。

(5)UI设计与交互标准制定。不能保证产品的UI以及交互一上线就有让用户觉得惊艳的效果,但是必须保证UI/交互在一致性上没有问题。

(6)后台管理系统。如论是查看数据还是内容管理,后台管理系统是你工作的有效辅助,也不能少。

(7)APP。这是你的产品的重中之重,密切观察跟踪。

如果一切顺利,那么在3-6个月之后,你的APP第一版应该有了第一个雏形。

内部测试、打磨阶段

在这个阶段,你要跟设计、研发、种子用户之间保?

web前端开发短信验证功能 被验证码轰炸有危险吗?

腾讯的点击验证码是什么原理

对于伪造网络请求的攻击方面,还有很多技术细节,篇幅有限,如果感兴趣可以看一下我的这篇博客,讲的就是有关验证码方面的一些技术细节:
CSRF漏洞的原理
如果提到的哪个专业术语我没有做通俗的解释,请在下方回复。
如果觉得长,想要直入主题的话可以直接找到 ---重要内容分割线---,看那部分其实是这套验证码最核心的安全机制。
目前web前端的验证码主要分几类:
1 看到图形,肉眼识别后输入字符;
2 根据界面图形,进行鼠标、手指(移动端)交互操作;
3 短信、电话、邮箱验证。
其中第3条,很多时候往往会与第1条相结合起来,以防止CSRF漏洞造成的短信炸弹攻击。
包括用户无感知的人机检验方式(简单地如前端token+referrer判断,这个待会儿再讲)在内,
以上所说的所有手段,终究目的是一个,那就是检查当前访问者究竟是一个“人”,还是一台“机器”。
这在计算机研究领域被称为图灵测试,图灵是一位计算机科学家,他提出对于“人工智能”的定义是:如果把一台电脑放在一个与外界隔绝的房间里,同时把一个人放在一个一模一样的房间里,同时对人和电脑进行各种各样的提问、测试,如果两者做出的反应基本一致(总会有差异,哪怕人与人之间也会有不同),那么认为这台电脑的算法水平已经达到了“人工智能”的级别。
说了这么多,想表达的还是一点,对于“让机器模拟人的行为”或者说“把自己伪装成一个人”,这样的事情在专业领域是有很多研究的。现在网络上存在着诸多验证码、安全校验等等东西,很多人不理解,认为这种东西增加了人们对于软件的正常使用的成本。其实这些安全手段,都是为了防止黑客以各种各样的技术手段,伪造网络请求,假冒真实用户的身份去“刷”网站的各个接口。

下面回到主题,来谈一谈题主所提到的这个腾讯的验证码页面的技术实现。
粗略地翻了一下这个页面的源代码(对于web领域,页面程序的源代码是完全裸奔的,这一点与客户端程序不同,所以如果想要研究对方的代码,对于web开发者来说是一件比较容易的事情,换句话说web前端代码里边是没有太多秘密可言的,因此web的安全性也相对差一些),这个页面在我见过的一些验证码系统中是很常见的一种,就是前面提到的那第1种,看图识别输入字符的验证码形式。下面上代码:
先来看看在UI层面,就是最常见的,通过javascript在DOM上绑定的监听事件触发回调,如图所示,如果我把右边红圈中的click监听remove掉,点击按钮之后就什么反应都没有了,所以基本确定它验证码的逻辑都卸载了这个CT_btn_trigger的回调函数中。然后看看点击后弹出的layer:
全都是用DOM实现的,我在代码中没有发现任何flash object的痕迹(为什么提flash,这个也放在后边说),输入验证码之后监听网络数据包,找到了发送验证码的那个接口:
服务端的接受验证码的接口为 而我们刚刚输入的一条验证码,query字段名称是ans。这里的这一条网络请求是https协议传输的,包括整个qq安全中心的页面也都是上了https的,https协议与我们熟知的http协议最大的不同就是,通过加密手段规避掉了网络中间层对数据包的截获,这一点对于这套验证码来说还是值得肯定的,目前的很多验证码系统对于传输验证码的网络请求都没有上https。

昨晚看的仓促,刚刚又翻了一下发现了这一套验证码系统的核心部分,其实就是上面截图中的collect字段,感谢 @李默然 的提醒,这部分其实也就是我在前文中所提到的那个token,从collect这个字段命名不难猜出这个token是一个前端拼装起来的东西。具体如何拼装,在这里我就不一一扒代码了,考虑到毕竟是一个安全中心的页面,把技术细节在这里讲的太透了,普通用户也不那么关心,反倒是替别有用心的人省了点儿事。所以就不给腾讯的前端同学找麻烦了,在这里简单述说说吧。
collect参数,在用户点击这个按钮的那一刻,就会从服务端传过来一个collect参数,这时的collect参数中做了一些组装和软加密处理,拿到的是密文,明文中的内容不难猜测一定包裹了验证码所需的那张图片的url。
当输入验证码完成后,从客户端发往服务器的那条请求中,虽然ans字段中的验证码是明文,但是还依然带了一个collect字段,而这时的collect字段和上一个collect字段内容是不同的,显然也是一个加密后的结果,推测可知这个collect字段在服务端解密后拿到的明文中,至少也要包含用户本地操作的一些数据,这数据中就包括,他输入的那段验证码所对应的图片究竟是哪张。也许存了图片的url,也许是服务端记录图片的某一组key值,但这个对应关系是一定要有的。
以上提到的collect字段,其实是整个这套验证码系统最为关键的一点,黑客如果要破译这层csrf防御,首先需要搞明白两处collect字段是如何加密的。如果放在其他系统客户端的角度来说,破译这层加密的难度不小,但是由于web客户端的代码是裸奔的,这个天然的劣势导致,黑客不一定要以数学的方法去解出这套加密机制,而是可以直接翻看源代码,看明白collect字段是怎么拼装的,然后只要结合起图片识别模块就可以对这个接口进行强刷了。由于验证码本身是最简单的图片6位验证码,所以图像处理方面识别难度不是很大。
总的来讲,这一套验证码体系属于中规中矩,可能因为并不涉及到金额安全问题,所以也并没有十分重视。
如何优雅地屏蔽百度广告推广
下面简单讲讲刚才翻源码过程中遇到的几个技术细节,值得了解一下:
1 这样的验证码安全吗?
很遗憾,我是个喜欢讲实话的人。这样的验证码,不是绝对安全的。
2 什么是CSRF漏洞?
CSRF简单地说就是伪造的网络请求,黑客以这种手段,用脚本写出一些自动化程序,非正常地使用正常用户在访问网页时调用的http接口,从而达到其他目的(盗号,刷接口,甚至将服务器拖库)。这也正是网页加入验证码的根本原因,提高了黑客去做CSRF攻击的成本,因为他的自动化脚本可以发送任何用户相关的数据,但却很难猜出每次都随机出现的图形验证码中的字符。
3 这样的验证码存在哪些安全隐患?
简单地图形验证码现在已经不算是安全的了,因为以如今的图像识别技术,黑客可以构造一套自动化脚本,首先获取验证码的那张图片,然后把图片交由专门做图像识别的程序模块进行识别处理,返回一个识别结果,再把识别的结果像正常用户填写验证码一样回填到http请求的参数中去。我们看到,他在http请求的参数中,是直接把验证码的字符放在里边,而没有对字符做任何md5、AES一类的处理,所以黑客可以很容易的知道这个参数是什么,并构造上述的一个自动化渗透工具。来对服务器进行攻击。他的图像识别算法的能力不需要达到90% 80%这么高,哪怕有10%的精度,黑客可以把这样的一套脚本攻击程序分布式地放在各个机房的机器上,对服务器造成一定的攻击。对于你所看到的这个qq安全中心的页面是否安全的问题,真的没有是和否的区别,只有值得与否的区别。毕竟构造一套上述的自动化攻击程序以目前的技术,成本还是很高的。但不是不可能。这也解释了,为什么春节抢票期间,12306出台了那么一套变态的验证码,就是因为抢票的这个利益太大了,如果有人能够破译它的验证码系统,损失是铁路部门无法接受的,所以宁可让验证码把普通用户难到骂娘,也绝对不能给黑客的自动化攻击程序留下可乘之机。
4 为什么我要提到flash?
flash作为软件行业中被诸多安全漏洞缠身的一项技术,在web领域,某种意义上却能算是银弹了,至少我是这样认为的。为什么这么说?就像我刚才说的,软件行业,客户端代码其实都是没有什么秘密可言的,你真的想把一些安全级别非常高的代码逻辑保护起来,那只有放到服务端里才可靠,这就是为什么大家申请网银卡的时候都会配给一块U盾,因为软件客户端永远是不安全的,或者说相对于这样大额度交易的利益来讲,在黑客们面前他不够安全。所以要依靠U盾的硬件加密手段,把一些重要的加密逻辑焊死在芯片中进行固化保护。那么话说回来,为什么又要说flash在web领域是安全的呢?因为web太不安全了,作为一个客户端来说,它的一切代码都是裸奔的,任何打包、编译都没有,(有人可能要提到如今的webpack等打包工具,但那些东西实际意义并不在于打包而在于模块化),通俗的解释就是,任何一个懂前端js代码的工程师,都可以很低的成本,读懂其他网站前端代码中做了一些什么事情,这相比其他平台的客户端开发来说是非常可怕的。
真是因此,很多web网站都会把一些不希望别人“轻易偷走”的数据,写到一个flash客户端中,然后再把flash编译后打包的swf作为一个静态资源加载到页面中(因为现代浏览器都是支持flash的),让flash和用户交互。想要把flash反汇编出来,搞懂他里边做了什么,对于同样从事flash的AS开发工作的工程师与从事web前端开发工作的工程师,这本身从实现成本上就比web前端的html和javascript代码要高很多。
另外,如今的绝大多数web工程师,都不太熟悉flash代码,所以把flash作为web系统某些安全隐患上面的银弹,还是有一定道理的。这里我可以举一个目前线上的例子,酷狗音乐就是通过flash播放器,解码一种acc格式(特殊的音频格式,普通浏览器和播放器无法直接播放)的音频文件,来实现音乐歌曲的防盗版。因为你前端就算把他音频文件的url拿到了,下载下来,你也不好直接播放。
对于这部分,就不再扯远了。

web前端开发短信验证功能 被验证码轰炸有危险吗?

被验证码轰炸有危险吗?

“收到这样的骚扰短信,不要回复,也不用担心自己 手机银行 账户的安全。” 运营商工作人员表示,短时间内突然收到正常网站发来的验证码信息,个人信息被盗的可能性较小,被个别人点对点攻击的可能性较大。

从运营商了解的情况来看,遭遇短信验证码骚扰多半是用户在网络上进行过相关操作,如网购、打车等产生纠纷,对方为了报复机主,使用恶意网络轰炸软件对用户进行信息骚扰。

验证码轰炸的原理:

短信验证码轰炸一般基于web方式,主要有两个模块组成:一个前端web网页,提供输入被攻击者手机号码的输入窗口;一个后台攻击页面(如PHP),利用从各个网站上找到的动态短信URL 和前端输入的被攻击者手机号码,发送HTTP 请求,每次请求给用户发送一个动态短信。

以上就是web前端开发短信验证功能 被验证码轰炸有危险吗?全部内容了,了解更多相关信息,关注我爱编程网。
与“web前端开发短信验证功能 被验证码轰炸有危险吗?”相关推荐
web前端怎么开发短信验证 如何获取验证码
web前端怎么开发短信验证 如何获取验证码

web前端怎么开发短信验证功能用户点击获取验证码时,发送手机号到后端接口后端接收请求后,将手机号及验证码发给短信网关,并将手机号和短信验证码保存起来用户收到短信后,输入验证码,然后将验证码和手机号传给后端后端校验手机号和验证码是否与之前保存的一致,如果一致,则鉴权通过向前端发送认证通过的cookie以及通过状态前端进行页面跳转或其他业务逻辑如何获取验证码1、首先找到

2023-10-10 17:36:54
web前端开发短信验证 各大APP注册时发送短信验证码是怎么实现的?
web前端开发短信验证 各大APP注册时发送短信验证码是怎么实现的?

各大APP注册时发送短信验证码是怎么实现的?简单来说,app注册验证码都是接入的第三方短信服务商来实现的,app与短信服务商合作,短信服务商会提供api接口文档,app按照文档要求对接平台即可使用(需要懂技术才能操作)。短信验证码实现流程:1)用户在点击获取短信验证码后,网站或者APP后台就会按照某种规则,随机生成一个验证码,位数可以自己定(一般是4位或者6位);推荐阅读:接收短

2023-09-30 07:05:04
web前端开发短信验证 腾讯的点击验证码是什么原理
web前端开发短信验证 腾讯的点击验证码是什么原理

web前端开发技术三要素的含义和功能web前端开发技术包括三个要素:HTML、CSS和JavaScript,想要系统学习web前端开发技术可以去千锋教育,教学水平高,保障每位学子学到真才实学。HTML、CSS、JavaScript这三个是前端开发中最基本也是最必须的三个技能。前端的开发中,在页面的布局时,HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现

2023-09-30 07:04:50
php短信验证微擎框架 php如何实现短信验证
php短信验证微擎框架 php如何实现短信验证

phpci框架怎么对接短信接口相当简单这个接口调用就是封装一个curl请求的function(sendSMS),代码示例网站上已经有了,使用时:加载这个function,然后调用方法sendSMS;我把源码给你贴一遍,这个里面的账号密码是需要你们自己去申请的;<?$username = 'test'; //用户账号$password = '123456'; //密码$mob

2023-09-27 12:47:46
php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?
php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

如何解决thinkphp5中验证码常见问题在项目目录下面生成captcha扩展(需要安装composer来安装)composerrequiretopthink/think-captcha2安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步操作配置comfig.php文件:在comfig.php下面加个扩展//验证码

2023-09-16 15:11:04
php框架yaf验证码 php如何做验证码
php框架yaf验证码 php如何做验证码

怎么样能够让php生成4位数字验证码PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有:1、产生一张png的图片;2、为图片设置背景色;3、设置字体颜色和样式;4、产生4位数的随机的验证码;5、把产生的每...php如何做验证码php验证码制作是对php基本功的考核,php验证码制作必需开启gd库,因为要

2023-09-24 14:52:48
php验证码框架 如何用PHP生成验证码
php验证码框架 如何用PHP生成验证码

使用thinkPHP3.2.3框架调用验证码不显示应该怎么解决缺少src="{:U('Admin/Index/show')}"设置'URL_ROUTER_ON'=>true,阻止submit提交行为、用js设置了e.preventDefault();可还会提交上去。<formonsubmit="returnfalse"id="form">或者用JS绑定ons

2023-09-18 17:03:16
web前端开发验证码代码 第三代验证码究竟比一代二代强在哪里?
web前端开发验证码代码 第三代验证码究竟比一代二代强在哪里?

javaweb验证码生成后一般在什么地方保存这个验证码?存到数据库还是怎么地?说起验证码,关系它的是安全性,再联系到你的时效性,这就非session(本身是客户端的唯一使用服务器资源的凭证,而且是有时效限制的,用户长期未访问服务器,这个session是就会被主动注销掉)不能当此大任了,可用性不在话下,至于你说的加密这是画蛇添足了。依楼上所言,未免误人,服务器端是必须保存这个验证码的

2023-10-09 11:43:27