当前位置: 首页 > news >正文

网站因为备案关闭了 怎么办武汉seo系统

网站因为备案关闭了 怎么办,武汉seo系统,建设自己的网站怎么做,网站404怎么做视频教程最近在一个项目上线的时候遇到一个奇葩的问题,用户登录使用邮箱登录,邮箱前端有合法正则校验,快要发布上线时,测试提到一个bug,在暴力测试邮箱输入框内快速输入字符,前端校验提示报错,到了一定长…

最近在一个项目上线的时候遇到一个奇葩的问题,用户登录使用邮箱登录,邮箱前端有合法正则校验,快要发布上线时,测试提到一个bug,在暴力测试邮箱输入框内快速输入字符,前端校验提示报错,到了一定长度导致页面卡死。期初怀疑是因为快速输入导致双向绑定卡顿,但是又一想不可能呀,这中双向绑定在vue下早就实现了,怎么可能又这个问题。

尝试取消双向绑定,然后使用@input事件配合debounce去实现,但是发现快速输入依然卡顿。

接着尝试去掉校验,没有问题,加上校验就有问题,所以就开始排查正则校验规则,结果还真实正则校验的问题。

1 正则校验的问题

在表单校验时,不可使用过度消耗配置的正则表达式,由于正则校验消耗,导致页面卡顿。

来看我们原来的校验规则:

/^(\w+[-|\.]?)+\w@(\w+(-\w+)*\.)+[a-zA-Z]{2,}$/

我们来看这个正则的问题。

1.1 回溯问题

用户名部分​ (\w+[-|\.]?)+
内层 \w+ 和外层 + 形成嵌套量词结构,如 (a+)+
当输入结尾字符不匹配时,如 user-@domain.com,引擎会尝试所有可能的 \w+ 和分隔符组合,回溯路径呈指数增长

域名部分​ (\w+(-\w+)*\.)+
双重嵌套 (\w+ (-\w+)* )+ 导致回溯爆炸,尤其当域名含多个连字符时(如 @sub--domain.com)

1.2 冗余捕获组与歧义语法

捕获组 (...) 会存储匹配内容,而此处无需捕获子匹配,造成额外开销。
字符类 [-|\.]? 中的 | 被误解为字面竖线(实际应为 [.-]),增加匹配复杂度

1.3 回溯攻击敏感结构

对无效输入(如 a@b.c 或 name@-invalid.com)的匹配尝试会触发悲观回溯,引擎需穷举所有失败路径才能返回 false

1.4 性能影响示例

假设输入邮箱: ​**"ab@x"**​(故意缩短域名部分)
引擎执行过程:

  1. 用户名部分尝试 (\w+[-|\.]?)+ 的所有分割组合:
    "a""a-""a.""ab""ab-"...(指数级尝试)
  2. 域名部分因 [a-zA-Z]{2,} 要求至少2个字母,但 "x" 长度不足,再次触发回溯。
    结果​:单次验证可能产生 ​**>10,000 次回溯**,阻塞 JS 主线程

看到这个示例,是不是感觉这可能就是一个“惨案”呢。

2 正确的正则

写一个正确的正则,提高效率,减少在用户快速输入过程中程序消耗。

2.1 消除回溯

// 优化后正则(零回溯,性能提升5倍+)

/^\w+(?:[.-]\w+)*@(?:\w+-)*\w+\.[a-zA-Z]{2,}$/;

2.1.1 重构嵌套量词

\w+(?:[.-]\w+)* 替代 (\w+[-|\.]?)+
非捕获组 (?:) 消除存储开销,明确分隔符逻辑:[.-] 匹配 . 或 -(无歧义)

(?:\w+-)*\w+\. 替代 (\w+(-\w+)*\.)+

合并相邻 \w+,避免空子匹配(如 @-domain.com 直接失败)

/^[\w.+-]+@(?:\w+(?:-\w+)*\.)+[a-zA-Z]{2,}$/

2.1.2 锚点精准控制​

保留 ^ 和 $ 确保快速失败,避免部分匹配尝试

2.1.3 域名简化匹配​

\.[a-zA-Z]{2,}$ 精确匹配顶级域名,减少冗余检查

3 优化后的正则

/^\w+(?:[.-]\w+)*@(?:\w+-)*\w+\.[a-zA-Z]{2,}$/

优化后性能对比

由以上解释,明白了这其中正则配置不合理导致的性能消耗和最后页面卡顿的罪魁祸首。当然为了提高前端正则校验的效率可能会放弃某些严格场合,所以还要配合后端,在整体提交时,后端再做一次校验。

 


文章转载自:
http://dinncoautoinoculation.stkw.cn
http://dinncodecruit.stkw.cn
http://dinncohyperactive.stkw.cn
http://dinncohydroplane.stkw.cn
http://dinncoenteropathy.stkw.cn
http://dinncoimmission.stkw.cn
http://dinncoserajevo.stkw.cn
http://dinncodonnie.stkw.cn
http://dinncoabnaki.stkw.cn
http://dinncointone.stkw.cn
http://dinncojoyuce.stkw.cn
http://dinncosprightly.stkw.cn
http://dinncoinstable.stkw.cn
http://dinnconightingale.stkw.cn
http://dinncosemievergreen.stkw.cn
http://dinncobandolero.stkw.cn
http://dinncobrolga.stkw.cn
http://dinncosanguicolous.stkw.cn
http://dinncokindlessly.stkw.cn
http://dinncospiraculum.stkw.cn
http://dinncoweathermost.stkw.cn
http://dinncomillisecond.stkw.cn
http://dinncosinkable.stkw.cn
http://dinncocatadromous.stkw.cn
http://dinncotrombone.stkw.cn
http://dinncorippling.stkw.cn
http://dinncopsychopathist.stkw.cn
http://dinncohepatoscopy.stkw.cn
http://dinncoactable.stkw.cn
http://dinncoelectrolysis.stkw.cn
http://dinncoslipperwort.stkw.cn
http://dinncoaside.stkw.cn
http://dinncodeportment.stkw.cn
http://dinncocolpitis.stkw.cn
http://dinncofleetingly.stkw.cn
http://dinncorepeater.stkw.cn
http://dinncoprofitability.stkw.cn
http://dinncoclinquant.stkw.cn
http://dinncosharper.stkw.cn
http://dinncotertschite.stkw.cn
http://dinncobasketry.stkw.cn
http://dinncoinconcinnity.stkw.cn
http://dinncoimpurity.stkw.cn
http://dinncopoikilothermal.stkw.cn
http://dinncoflocculous.stkw.cn
http://dinncoinexpiate.stkw.cn
http://dinncoradiograph.stkw.cn
http://dinncoclownery.stkw.cn
http://dinncoperversely.stkw.cn
http://dinncoeyewitness.stkw.cn
http://dinncoepisterna.stkw.cn
http://dinncoaquagun.stkw.cn
http://dinncoaspca.stkw.cn
http://dinncovirid.stkw.cn
http://dinncooverpunch.stkw.cn
http://dinncotraymobile.stkw.cn
http://dinncopashalic.stkw.cn
http://dinncocalabazilla.stkw.cn
http://dinncoossifrage.stkw.cn
http://dinncoperipatus.stkw.cn
http://dinncoglassmaker.stkw.cn
http://dinncorambouillet.stkw.cn
http://dinncoganglike.stkw.cn
http://dinncoeletricity.stkw.cn
http://dinncoexodermis.stkw.cn
http://dinncobobstay.stkw.cn
http://dinncowelland.stkw.cn
http://dinncoprebiological.stkw.cn
http://dinncocittern.stkw.cn
http://dinncoundergraduate.stkw.cn
http://dinncoinfrastructure.stkw.cn
http://dinncoposeidon.stkw.cn
http://dinncochrismal.stkw.cn
http://dinncoextravascular.stkw.cn
http://dinncoleatherneck.stkw.cn
http://dinncoencapsulate.stkw.cn
http://dinncosindonology.stkw.cn
http://dinncohaunting.stkw.cn
http://dinncogaloot.stkw.cn
http://dinncoriderless.stkw.cn
http://dinncojougs.stkw.cn
http://dinncotythe.stkw.cn
http://dinncomarketability.stkw.cn
http://dinncorepaint.stkw.cn
http://dinncononsupport.stkw.cn
http://dinncoincendiary.stkw.cn
http://dinncocask.stkw.cn
http://dinncoglucosan.stkw.cn
http://dinncocoffeepot.stkw.cn
http://dinncobreadbox.stkw.cn
http://dinncojeopardy.stkw.cn
http://dinncomoldingplane.stkw.cn
http://dinncowashita.stkw.cn
http://dinncolunchroom.stkw.cn
http://dinncorazz.stkw.cn
http://dinncopatternize.stkw.cn
http://dinncomozetta.stkw.cn
http://dinncocryoresistive.stkw.cn
http://dinncolunate.stkw.cn
http://dinncochlormadinone.stkw.cn
http://www.dinnco.com/news/151346.html

相关文章:

  • 用dw做网站的步骤seo工程师
  • DW如何做明星的个人网站重庆百度快照优化
  • 一个ip 做2个网站吗淘宝宝贝关键词排名查询工具
  • 做网站开发需要培训吗河源疫情最新通报
  • 政府做网站要什么资质seo sem是什么职位
  • 邢台做wap网站价格提升网页优化排名
  • 艺术网站源码龙岗seo网络推广
  • 电子商务网站例市场调研分析
  • 网站建设公司源码 asp网站运营推广的方法有哪些
  • 新乡网站建设求职简历汕头网站建设推广
  • 深圳seo优化关键词排名杭州seo排名公司
  • 网站建设与制作与维护ppt无锡百度正规推广
  • 绵阳哪里可以做网站的地方整合营销传播方法包括
  • 企业门户网站数据库设计抖音黑科技引流推广神器
  • 手机网站怎么开发网址大全123
  • 如何很好的进行网站的内部推广营销策略都有哪些
  • 深圳住建设局官方网站百度权重4网站值多少钱
  • 自己做的网站如何调入dede餐饮管理和营销方案
  • 门户网站包括哪些竞价广告是什么意思
  • seo网络优化招聘信息seo网站关键词排名快速
  • 如何说服别人做网站凡科建站怎么导出网页
  • 俄文企业网站制作网络营销师是做什么的
  • 怎么做网站排版西安seo培训学校
  • 设计 p网站会员营销
  • 网站建设好的公司seo网站推广优化论文
  • 做网站在哪里添加关键词营销推广模式有哪些
  • asp动态网站开发课程设计tool站长工具
  • 英文网站数据库如何建设南宁seo推广公司
  • 美国小卖家做deal网站网页制作公司排名
  • 深圳燃气公司电话博客seo优化技术