给客户做了个系统,用的webwork,hibernate等框架。主要是业务系统,有很多的行业逻辑在里面。最近发现有些人用C#做了个单机版的软件,模拟登陆我的系统,然后从系统中查询数据,还从网页上把数据给取出来,保存他的本地库。怎样才能防止这种情况发生啊?如果它把访问时间设置的很小的话,我的服务器是抵挡不住这么频繁的访问,会死机的。因为是行业软件,客户不要求采用登陆验证码之类的东西。。
C#不太懂,不知道他怎么能模拟出来人工登陆。
请教各位大侠这种该怎么处理?

解决方案 »

  1.   

    不通过验证码,那就通过ip啊,一段时间内同一ip只允许多少次请求。
    不过它如果要黑你会找很多肉肉来连的....
      

  2.   

    加个状态不知可行否
    譬如用正常方式登陆,在user表给这个用户加个状态
    在每个功能页都要判断这个状态
    非正常登陆则没这个状态
      

  3.   

    你的页面功能,应该都是点击链接进去的吧.
    是不是可以得到做个filter,捕捉每次请求的referer(referrer),如果没有该属性应该是直接请求该地址,让页面转向或停止这次请求.反之,正常操作.
      

  4.   

    可以考虑判断是否是使用浏览器请求,在http请求头里有相关的信息,也许可以截取出来判断。C#做模拟人工登陆应该和做外挂差不多吧。他也是把你的url请求发出去,然后取得返回的html数据,然后分析,能在url上做做文章,加个特殊参数啥的,不过貌似,上有政策下有对策。。