解决方案 »

  1.   

    点击之后,JS控制灰掉按钮,提交请求,ajax回来之后再放开。
      

  2.   

    为什么人家点击按钮,发送消息是恶意的呢?你可以动过javascript控制,让他不能点击按钮呗,不过这样做就不人性化了另外一种方式,你可以通过s:token防止重复提交,前台页面给他一个友好提示就可以了,人家正常的点击你肯定不能禁止呀!
      

  3.   

    或者ajax改成同步请求,必须等待返回你才能点其他的
      

  4.   

    把按钮变灰是一种,还可以不变灰,不过加个变量,如果为false,点击后就return false。
      

  5.   

    如果防止恶意程序攻击,发送大量http请求阻塞服务器,是不是有相关硬件层次的防火墙?不太了解,但这应该也算DDOS的一种吧?
      

  6.   

    那如果恶意行为呀?比如说写个循环,程序恶意访问你的服务器,一下子就拥堵了,就是要限制他们的访问频率,求解?3q可以使用iptable禁止访问。
      

  7.   

    那如果恶意行为呀?比如说写个循环,程序恶意访问你的服务器,一下子就拥堵了,就是要限制他们的访问频率,求解?3q可以使用iptable禁止访问。
    比如说当某个ip访问频率太高了,自动限制这个ip的访问频率,iptable不行吧,难道只能写程序限制了?
      

  8.   

    在前台你就用JS控制一下按钮呗,按下了之后禁用,服务器有反应了才解禁
    但是前台是不可能完全防止恶心攻击的,毕竟JS HTML代码随意改。要防止攻击就要你后台有足够的防护能力,比如侦测同用户多次快速操作,同IP恶性流量攻击等,一旦侦测到,马上限制其访问,比如不响应其请求的服务。但如果别人玩真的DDOS攻击,你没有专业防护软硬件配套也是没用的,你不能在受到攻击时分流的话照样死翘翘。
      

  9.   


    还是写程序吧。防火墙一类的东西,规则可变性太低了。不过,写程序,对流量攻击的应对,没有软硬件防火墙能力高。所以,看你的主要目的了。防止恶意刷票之类的,程序足矣。如果是防止流量攻击之类的,程序肯定不行。软硬件防火墙都未必能搞定。
    嗯 就是为了防止刷票之类的,我是在回话session中加入时间戳,有没有其他解决办法?session中放入的东西太多了,况且以后修改规则要动代码了,扩展性不是很好,话说你头像小心喝茶
      

  10.   

    同用户多次快速操作我是在session中加入时间戳,有没有其他方法?3q
      

  11.   

    用session的话没问题啊,session本来就是处理这种临时变量的。扩展性的话你把获取时间比较时间的方法做成接口,也不是很有损扩展性啊。
    其他的方法我想不出有比session更快更方便的,要是你这个比较时间的过程太长,那不倒帮了攻击者的忙。。