账号通
    

账号  

密码  

2754

查看

4

回复
主题:[分享]教你在用户发表博文时需要输入验证码 [收藏主题] 转到:  
南柯一梦 当前离线

400

主题

0

广播

0

粉丝
添加关注
级别:四年级

用户积分:3285 分
登录次数:338 次
注册时间:2006/8/14
最后登录:2015/4/13
南柯一梦 发表于:2010/10/27 16:35:00   | 只看该作者 查看该作者主题 楼主 
科汛在线考试系统(NET)

郁闷的很,新站刚上来,就有人利用个人空间发布垃圾博文,一看每篇文章简隔不到30秒,估计是机器人所为,在后台也没有发现可以防止的办法,除了审核,所以我就自己动手,在用户发表博文时,需要输入验证码,把自己改造过程附上,一并大家检验!



1、打开  User\User_Blog.asp 文件:



找到以下代码:



    Private TypeID,Title,Tags,UserName,Face,Content,Status,PicUrl,Action,I,ClassID,password



将上述代码用以下代码替换:

    Private TypeID,Title,Tags,UserName,Face,Content,Status,PicUrl,Action,I,ClassID,password,ValidCode

2、同样是该文件,找到以下代码:

                              <tr class="tdbg">

                                 <td height="25" align="center"><span>查看密码:</span></td>

                                <td> <input name="Password"  class="textbox" type="password" id="PassWord" value="<%=PassWord%>" style="width:250px; " />

                                        <input name="Status" type="checkbox" value="1" <%If Status=1 Then Response.Write " checked"%> />

放入草稿箱 </td>

                              </tr>

   在该代码下插入下面红色代码:

           <tr class="tdbg">

         <td height="25" align="center">验证码:</td>

         <td><input name="ValidCode"  class="textbox" type="text" id="ValidCode" value="" style="width:100px; " /><IMG style="cursor:pointer;" src="../plus/verifycode.asp?n=<%=Timer%>" align="absmiddle"></td>

         </tr>

3、同样在该文件下找到以下代码:

         if (Editor.getEditorContents()=="")

     {

       alert("请输入博文内容!");

       return false;

     }

   

   在该代码下插入以下红色代码:

       if(document.myform.ValidCode.value=="")

      {

     alert("请输入验证码!");

     document.myform.ValidCode.focus();

     return false;

      }

4、依然是该文件,找到以下代码:

      If Content="" Then

        Response.Write "<script>alert('你没有输入博文内容!');history.back();</script>"

        Exit Sub

      End If

  在该代码下插入以下红色代码:

     If ValidCode<>Trim(Session("Verifycode")) Then

        Response.Write "<script>alert('验证码输入不正确!');history.back();</script>"

        Exit Sub

      End If

5、感谢二楼朋友提醒,由于是完成后写的这篇文章,所以疏忽了,补上:

   找到函数

   Sub DoSave()

     在该行下插入代码

   ValidCode=KS.S("ValidCode")

   

   6、保存,完事,可以测试了!

  

最后附上修改完后的文件,供像我一样懒的菜鸟笑纳!

 下载信息  [文件大小:13.12 KB 下载次数: 次]
点击下载文件:User_Blog

  

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
youkoe 当前离线

238

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:490 分
登录次数:366 次
注册时间:2010/9/10
最后登录:2021/5/6
youkoe 发表于:2010/10/27 19:34:00   | 只看该作者 查看该作者主题 沙发 
科汛在线商城系统(NET)

呵呵,好像还有问题的,编辑博文后发布会提示“验证码输入不正确”。在Sub DoSave()这段函数里面好像霉看见ValidCode输出。暂时我加了句代码

ValidCode=KS.S("ValidCode")

你再测试下。

 
悠客花香
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
南柯一梦 当前离线

400

主题

0

广播

0

粉丝
添加关注
级别:四年级

用户积分:3285 分
登录次数:338 次
注册时间:2006/8/14
最后登录:2015/4/13
南柯一梦 发表于:2010/10/27 19:50:00   | 只看该作者 查看该作者主题 藤椅 
科汛在线网校系统
感谢楼上朋友提醒,将文件改完后发的这个帖子,所以关键部分疏忽了,现在补全了,请大家检阅!
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
棋迷杀 当前离线

144

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:532 分
登录次数:153 次
注册时间:2009/4/6
最后登录:2024/9/30
棋迷杀 发表于:2010/11/17 17:48:00   | 只看该作者 查看该作者主题 板凳 
楼主你好,请问如果我想在图片系统搜索的时候加上验证码,又该如何修改呢?
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
棋迷杀 当前离线

144

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:532 分
登录次数:153 次
注册时间:2009/4/6
最后登录:2024/9/30
棋迷杀 发表于:2010/11/17 21:26:00   | 只看该作者 查看该作者主题 报纸 
科汛在线考试系统(NET)

哈哈,搞定了。


用系统的标签{$GetPictureSearch},那调用的是JS代码。要改

ks_cls/kesion.administratorcls.asp文件里的,增加显示验证码。


      SearchJS = SearchJS & "        <input name=""KeyWord"" type=""text"" class=""textbox""  value=""关键字""this.select();""/>" & vbCrLf
      
      SearchJS = SearchJS & "        <input name=""Verifycode"" type=""text"" class=""textbox""  value=""""this.select();""/><IMG style=""cursor:pointer;"" src=""../plus/verifycode.asp"" align=""absmiddle"">" & vbCrLf
      
      SearchJS = SearchJS & "        <input name=""ChannelID"" value=""" & channelid & """ type=""hidden"" />" & vbCrLf



plus/search.asp里

找到

  Sub PhotoSearch()
   Dim SqlStr,Param,ValidCode
   
   ValidCode=KS.S("Verifycode")
  IF ValidCode<>Trim(Session("Verifycode")) then
    Response.Write "<script>alert('验证码输入不正确!');history.back();</script>"
   exit Sub
  end if
   


  SqlStr="Select * From " & KS.C_S(Channelid,2)

红色部分是添加的。嘿嘿!

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.20313秒 powered by KesionCMS 9.0