TO:mindon(麦盾) 
「把F5键间歇性禁止」请问具体如何实现,是用HTML语言呢还是用JSP语言来实现这一功能?因为没有多大概念的说。

解决方案 »

  1.   

    在你需要控制的页面包含一段公共的javascript脚本
    比如
    <script language="javascript" src="common.js"></script>common.js中包含一段这样的脚本即可
    var f5gap = 2;//控制按F5之间的间隔描述
    var f5enabled=true,f5count=0;
    document.onkeydown = function(){
      if(event.keyCode=="116" && !f5enabled) {
        event.keyCode=0; event.returnValue=false; f5enabled=false;
      }
    }
    function f5limit()
    {
      if(f5enabled){f5enabled=false;}
      f5count++;
      if(f5count>f5gap){f5count=0;}
      if(f5count==0){f5enabled=true;}
      if(!f5enabled){setTimeout("f5limit()",1000);}
    }
    f5limit();
      

  2.   

    若要更精细控制可以把 setTimeout中的1000(毫秒,可以设成变量nsec)调小,然后改动f5gap
    实际控制时间间隔为f5gap*nsec(毫秒)
      

  3.   

    TO:mindon(麦盾) 
    「把F5键间歇性禁止」这一目标是能达到的,但针对本人的程序存在以下问题:
    1、无法间歇性屏蔽IE上的[刷新]按钮,解决不了根本问题;不知是否有屏蔽IE上的[刷新]按钮的方法?
    2、在线等待中...
      

  4.   

    我感觉这应该有服务器端进行处理.
      在客户端处理有很多问题,
       很简单的,一个恶意功击程序很容易就绕过javascript,
    直接对你的服务器进行攻击.
       你可以这样做:
       在服务器端程序保留最近访问的URL地址及时间,然后接到请求后,
       比较URL与地址,如果不超过一秒钟就把它过滤掉.
       可能具体实施还会有一些问题,我只是考虑了一下大概,
       不过大体思路应该没问题.
      

  5.   

    必须得有服务器处理了,其实屏蔽F5只能是表面控制,我完全可以写一段javascript代码不断循环提交同样的请求的,比较URL和对方IP也不是真正的办法(IP重复或者POST提交方式都可能造成困扰)
      

  6.   

    对~ 使用post作为提交方式,每次刷新都得经确认才会进行重复提交~