为您找到搜索结果:2503个
onsubmit提交前先验证(验证不通过阻止form提交)
<form onsubmit="returnval();"><inputtype="submit"value="提交"/></form><scripttype="text/javascript">functionval(){varbeginTime=document.getElementById("beginTime").value;varendTime=document.getElementById("endTime").value;varbegin=newDate(beginTime.replace(/-/g,"/"));varend=newDate(endTime.replace(/-/g,"/"));//js判断日期if(begin-end>0){$(".error").text("开始时间要在结束时间之前!");$("#beginTime").css("border","1pxsolidred");$("#endTime").css("border","1pxsolidred");returnfals...
防止恶意攻击短信验证码接口方法
防止恶意攻击短信验证码接口方法1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。3、IP地址限制:限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同手机号码进行恶意攻击。超过次数不能发送短信,可以考虑将IP地址加入黑名单,禁止1天。可以考虑限制同一个IP地址每分钟的接口请求频率。4、发送流程限制:将流程分成两个步骤。如:注册用户,将发送短信验证码和设置用户名密码分成两个步骤,第一步一个页面用来设置用户名和密码,用户设置用户名和密码发送到后台,获取到后台返回的第一步成功回执之后,进入第二步另一个页面发送手机短信验证码。忘记密码,找回密码,第一步输入用户名,第二步发送短信验证码。5、增加图片验证码:发送短信验证码时,要求输入图片验证码,每个图片验证码仅能使用1次,使用1次后,不管输入的图片验证码是否正确自动失效。如果输入错误更新图片验...
c#初学-多线程中lock用法的经典实例
一、Lock定义 lock关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(criticalsection),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 在多线程中,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。 而在.NET中最好了解一下进程、应用域和线程的概念,因为Lock是针对线程一级的,而在.NET中应用域是否会对Lock起隔离作用,我的猜想是,即不在同一应用域中的线程无法通过Lock来中断;另外也最好能了解一下数据段、代码段、堆、栈等概念。 在C#lock关键字定义如下: lock(expression)statement_block,其中expr...
正则验证
限制只能输入数字:onkeyup="this.value=this.value.replace(/[^d]/g,'')"限制字母和数字:onkeyup="value=value.replace(/[W]/g,'')" ...
vue 滑块验证
1、在登录页同级目录下,新建滑块验证页面 JcRange.vue: 2、JcRange.vue:<template><divref="dragVerify"class="drag_verify":@mousemove="dragMoving"@mouseup="dragFinish"@mouseleave="dragFinish"@touchmove="dragMoving"@touchend="dragFinish"><divclass="dv_progress_bar":class="{goFirst2:isOk}"ref="progressBar":></div><divclass="dv_text":ref="message"><slotname="textBefore"v-if="$slots.textBefore"></slot>{{message}}<slotname="textAfter"v-if="$slots.textAfter"&g...
js字符串中的比较类以及截取类substring实例
经常回今天说一下substring()方法的特性以及应用。substring()方法用于提取字符串中介于两个指定下标之间的字符,所以它有两个参数,一个是起始的位置,一个是结束的位置,通俗点说就是针对一段字符串的每个字符的位置截取开始到结束的字符。比如说:<p>我爱中国。</p>substring(2,3)那么这个返回的就是“中国”需要注意的substring的特性有:1、substring(0,2)里的参数更换位置不受影响,它默认还是从小到大(0,2)和(2,0)返回的内容是相同的。2、substring(0) 里的参数若是只写一个,那么就是说从第0个开始截取后面的内容一直到结束(里面的参数写几就从几开始截取)。3、substring(-3,2) 里的参数若为负数,那么它默认会将-3当作0处理,当然调换位置也是一样。和它比较相似的是slice()方法,那么它的特性有:1、slice(0,2) 的参数不能调换位置,否则读出来为空。2、slice(-3) 的参数若为负值那么它是从字符串的最后一个字符算起往前推。负数j就是从后面...
原生js处理倒计时小实例
昨天写了一个简单的不能循环走的倒计时,那么今天写一个添加了定时器之后的倒计时。先来看看布局的代码:<style>.t1{width:400px;}</style><body> 距离:<inputclass="t1"type="text"value="November27,201322:3:0"/><br/> 还剩:<inputclass="t1"type="text"/> <inputtype="button"value="开始倒计时吧"/></body>js代码如下:<script>window.onload=function(){varaInp=document.getElementsByTagName('input');variNow=null;variNew=null;vart=0;varstr='';vartimer=null;aInp[2].onclick=function(){iNew=newDate(aInp[0].value);clearInterval(...
取模实例
今天写一个取模的小实例,将数组中的内容循环写入到li中。来看代码:<ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul>布局就是一些li,那么想在每个li里循环写如规定的内容,并且点击任何一个加入颜色,看js:<script>window.onload=function(){varaLi=document.getElementsByTagName("li");vararrTxt=["咖啡","牛奶","面包","蛋糕"];for(vari=0;i<aLi.length;i++){aLi[i].innerHTML=arrTxt[i%arrTxt.length];aLi[i].onclick=function(){for(vari=0;i<aLi.length;i++){aLi[i].st...
JS函数传参实例应用:多组图片切换实例
之前的博客有一个图片切换的例子,实现了简单轮播图的点击切换的案例,今天就说一下多组轮播切换,前提是布局差不多,通过函数传参的形式减少代码应用,但是同时还能实现效果。先来看一下之前那个例子的实现图片:那么今天我来实现两组这样的图片切换,通过传参数来实现,这样分可以减少js代码:<divclass="box"id="pic1"><imgsrc=""/><span>数量正在加载中……</span><p>文字说明正在加载中……</p><ul></ul></div><divclass="box"id="pic2"><imgsrc=""/><span>数量正在加载中……</span><p>文字说明正在加载中……</p><ul></ul></div>css样式:<style>ul{padding:0;margin:0;}li{list-style:none;}.box{wid...
JDBC实例代码
以下内容引用自http://wiki.jikexueyuan.com/project/jdbc/sample-code.html:前提:1、在MySQL中创建数据表和增加模拟数据:DROPTABLEIFEXISTS`employees`;CREATETABLEIFNOTEXISTS`employees`(`id`int(11)NOTNULL,`age`int(11)NOTNULL,`first`varchar(255)DEFAULTNULL,`last`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=latin1;INSERTINTOEmployeesVALUES(100,18,'Zara','Ali');INSERTINTOEmployeesVALUES(101,25,'Mahnaz','Fatma');INSERTINTOEmployeesVALUES(102,30,'Zaid','Khan');INSERTINTOEmployeesVALUES(103,28,'Sumit','Mittal'...
Servlet的HelloWorld实例
以下内容引用自http://wiki.jikexueyuan.com/project/servlet/first-example.html:Servlets是Java类,服务于HTTP请求并实现了javax.servlet.Servlet接口。Web应用程序开发人员通常编写扩展javax.servlet.http.HttpServlet的Servlets,它是一个实现了Servlet接口的抽象类并且是为处理HTTP请求专门设计的。一、HelloWorld的示例代码下面是Servlet编写HelloWorld的示例源代码://Importrequiredjavalibrariesimportjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;//ExtendHttpServletclasspublicclassHelloWorldextendsHttpServlet{privateStringmessage;publicvoidinit()throwsServletException{//Dorequiredinitial...
.NET JWT权限验证
一、什么是JWT Jsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。二、传统的session认证方式 http协议本身是一种无状态的协议,这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这就是传统的基于session认证。但是这种基于session的认证使应用本身很难得到扩展,随着不同客户端用户的增...
无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
一、问题描述 创建Vue项目vueinitwebpackdemo提示“无法将“vue”项识别为cmdlet、函数、脚本文件或可运行程序的名称”二、解决方法1、首先确认是否安装了脚手架vue-cli,没有的话,先进行安装npminstallvue-cli-g2、使用命令npmconfiggetprefix获取相关目录 3、将该目录放进系统环境变量Path中 ...
C#基础知识之父子类,实例、静态成员变量,构造函数的执行顺序
父子类、示例、静态成员变量、构造函数的概念的基础理解完全可以利用下面的示例诠释,非常经典,直接上代码: publicclassShowInfo{publicShowInfo(stringinfo){Console.WriteLine(info);}}classfather{publicstaticShowInfoStaticFatherMember=newShowInfo("父类静态成员变量执行");//父类静态成员变量publicShowInfoInstanceFatherMember=newShowInfo("父类实例成员变量执行");//父类实例成员变量staticfather()//父类构造函数{ShowInfoStaticFatherMethod=newShowInfo("父类静态构造函数执行");//父类静态构造函数}publicfather(){ShowInfobcsI=newShowInfo("父类实例构造函数执行");}}classson:father{publicstaticShowInfoStaticSonMember=newShowInfo("子类静态...
winform 仿web 滑块验证
winform仿web滑块验证效果如下: 源码下载地址: https://download.csdn.net/download/u011392711/11109687 ...