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

淄博建设公司网站做网站应该掌握的技术

淄博建设公司网站,做网站应该掌握的技术,2021最新引流推广方法,dw2021网页设计教程本文讲解4.4版jxTMS中如何自行定义一个频率型的动态管控#xff0c;整个系列的文章请查看#xff1a;docker版jxTMS使用指南#xff1a;4.4版升级内容 docker版本的使用#xff0c;请查看#xff1a;docker版jxTMS使用指南 4.0版jxTMS的说明#xff0c;请查看#xff…本文讲解4.4版jxTMS中如何自行定义一个频率型的动态管控整个系列的文章请查看docker版jxTMS使用指南4.4版升级内容 docker版本的使用请查看docker版jxTMS使用指南 4.0版jxTMS的说明请查看4.0版升级内容 4.2版jxTMS的说明请查看4.2版升级内容 上篇文章中我们讲解了jxTMS的动态管控本文则展示一个自定义的频率型动态管控的实现。 如果开发者针对自己的需要也想实现某种频率型的管控可利用jxTMS内置的频率控制对象frequency。 引用 form jx.auth import frequency其构造函数为 class frequency:def __init__(self, checkItem, max10, checkPeriodSeconds60,exceedLimit100, exceedDualNone)#checkItem该频率管控的对象名如用户名、资源ID等#max上文中的限额#checkPeriodSeconds上文中的限制周期#exceedLimit上文中的超频数#exceedDual超频后的回调处理函数其函数签名为# exceedDual(checkItem)我们举个例子 class demoCheck:_accessFrequency {}classmethoddef frequencySet(cls, userName, max10, checkPeriodSeconds60,exceedLimit100, exceedDualNone):rl cls.__dict__[_accessFrequency]#此处设置了超频时的处置函数为本类的_exceedDual函数rl[userName] frequency(userName, maxmax, checkPeriodSecondscheckPeriodSeconds,exceedLimitexceedLimit, exceedDualcls._exceedDual)#用于上篇文章中所介绍的全面检查classmethoddef check_frequency_forSystem(cls, u, op, resID):fl cls.__dict__[_accessFrequency]#需要开发者自己来决定挑选哪些用户来执行自己的频率限制审查b needCheck(u,op,resID)if b:#根据业务需要执行频率检查f fl.get(u.name(),None)if f is None:#防止扫描return False,f[{u._name}]访问频率超过预期b f.check()if not b:return False,f[{u._name}]访问频率超过预期return True,None#用于上篇文章中所介绍的指定检查classmethoddef check_frequency_forMe(cls, myName, op, resID):fl cls.__dict__[_accessFrequency]f fl.get(myName,None)if f is None:#防止扫描return False,f[{myName}]访问频率超过预期b f.check()if b:return True,Nonereturn False,f[{myName}]访问频率超过预期#超频时的处置classmethoddef _exceedDual(cls, userName):#超频了踢出并阻止登录user.preventUser(userName)msg f用户【{userName}】操作过于频繁阻止12小时jxGo.log(warn,msg)根据自己的业务需要可随时通过执行下面的语句来添加自己的频率型动态管控 demoCheck.frequencySet(objName,...限额等参数...)对自己定义的该管控措施其可部署的检查点有两种 1、利用系统内置的卡控来统一触发通过执行 user.setDynamicallyCheck(自己的动态管控名,demoCheck.check_frequency_forSystem)不需再做其它任何处置系统即会自动在全面检查时调用demoCheck.check_frequency_forSystem函数来完成自己的频率型管控。 2、自己在业务操作过程中自行执行频率管控的检查通过执行 user.setDynamicallyCheck(自己的动态管控名,demoCheck.check_frequency_forMe)此种方式需手动触发动态管控的执行因此需再自己的业务处理函数中执行 ...业务操作的预备动作 b,msg user.specialCheck(自己的动态管控名,currentUser,操作名,资源ID) if not b:rm f用户[{currentUser.fullname()}]执行操作【{操作名}】未通过频率审查{msg}jxGo.log(warn, rm)return None,rm ...通过了频率管控的审查继续执行同时使用此种方式来调度自己定义的动态管控需要在系统统一调度时排除掉【自己的动态管控名】否则【自己的动态管控名】会在系统内置的卡控点被统一触发从而造成期望之外的审查可能会导致其它用户都被阻止 要避免此种情况的出现需执行 user.notDoDynamicallyCheck(自己的动态管控名)第一种方式属于全局执行所以check_frequency_forSystem要有一个识别用户的needCheck【自己定义】函数来进行用户的识别默认则是放行第二种方式属于针对性执行所以不需要用户的识别默认则是拒绝。 也正是由于后者是针对性执行所以必须调用notDoDynamicallyCheck将其从全局执行中剔除切切 超频后临时阻止用户 在demoCheck的frequencySet中设置了超频时的处理函数demoCheck._exceedDual。其利用了user类提供的preventUser函数来临时阻止超频的用户。 preventUser函数会将该用户临时加入到黑名单中【这会导致该用户立刻无法访问以及登录】默认12个小时后再自动将用户移出黑名单。这个临时阻止的时长可调 def preventUser(cls,userName,Hours12):即开发者在调用user.preventUser临时阻止用户时通过设置Hours可将该用户阻止对应的小时数【为了提高效率移出黑名单是由系统统一调度执行的所以具体的阻止时长大约是指定时长后的1小时左右即指定了10小时大约是在11个小时左右】。 参考资料 jxTMS设计思想 jxTMS编程手册 下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能 如何用jxTMS开发一个功能 下面的系列文章讲述了jxTMS的一些基本开发能力 jxTMS的HelloWorld
http://www.hyszgw.com/news/80851/

相关文章:

  • dede网站演示网站开通支付宝支付
  • 网站后台模板修改用什么软件新网站建设信息
  • 广州免费设计网站建设橙网站
  • 网站开发费用如何入账宁海企业网站建设
  • 免费创建企业网站公司外文网站制作
  • 网站建设 落地页360安全浏览器
  • 优化网站教程济南食品行业网站开发
  • 上海谷歌推广优质的seo网站排名优化软件
  • 织梦中二次开发新的网站网站排名突然消失
  • 国外一直小猫做图标的网站怎么搭建个人博客
  • 快递查询网站建设网页设计作品展示 简单
  • 建设公司网站的重要意义项目信息网官网
  • 网络公司给我做网站我有没有源代码版权吗?wordpress超链接工信部
  • 公司网站需求说明书做网站软件ps
  • 西安哪家做网站最好海外网文
  • 企业网站开发前后台模块设计网站开发定制案例展示
  • 快速搭建个人网站全球搜索大全
  • 苏州市建设局投诉网站做变性手术视频网站
  • 移动端高端网站餐饮wordpress模板
  • 中国建设项目招标网站长沙外贸公司排名
  • 密云郑州阳网站建设网页设计师做什么
  • 手机网站 尺寸辽宁建设工程信息网那个
  • 企业做网站须要注意些什么火车wordpress
  • 网站建设需要哪些资质福州做网站需要多少钱
  • 企业营销型企业网站建设棋牌游戏平台
  • 保健品网站建设方案书模板wordpress 输出数组
  • 网站免费认证联盟购物网站开发实战
  • server 2008 网站部署番禺区pc端网站建设
  • 微网站功能介绍品牌策划方案3000字
  • python培训视频教程河北网络营销推广seo