防止机器人刮擦我们的内容/超载我们的服务器

时间:2015-05-12 07:41:07

标签: php html iframe web-scraping bots

我们计划为一些公司提供工作平台服务。我们已经为我们的所有客人/访客提供了几千个工作岗位。

从昨天开始,我们注意到我们的服务器负载很疯狂,当我们检查日志时,我们发现每秒有来自不同IP地址的多个站点请求。但是,调用页面的顺序表明它是相同的用户/机器人

我们希望公众可以使用,但如果机器人大幅减慢我们的服务器速度或者迫使我们购买新硬件,那么我们就会遇到麻烦。

我们目前在iframe中显示所有工作内容,编码器如下: http://www.tareeinternet.com/scripts/iframe-encoder/

有助于解决我们的问题吗?

或者我们有什么选择?它特别烦人,因为我们没有用户会话或重复的IP地址(我认为他们使用的是经常切换的代理)

1 个答案:

答案 0 :(得分:0)

您是否检查了重复数据的标头?例如,如果他们有定期的用户代理,您可以阻止这些:

  • Apache



E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.werebits.chopinkmerchant, PID: 14486
    java.lang.NullPointerException
            at android.widget.SimpleAdapter.<init>(SimpleAdapter.java:85)
            at com.werebits.chopinkmerchant.ExtendedSimpleAdapter.<init>(ExtendedSimpleAdapter.java:19)
            at com.werebits.chopinkmerchant.Home$PlaceholderFragment$4.onSuccess(Home.java:488)
            at com.loopj.android.http.JsonHttpResponseHandler$1$1.run(JsonHttpResponseHandler.java:128)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5230)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:780)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:596)
            at dalvik.system.NativeStart.main(Native Method)
&#13;
&#13;
&#13;

  • 代码:您可以检查该特定标头的每个请求,并将其重定向到其他位置。