首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免运行中间件的网络爬虫程序

避免运行中间件的网络爬虫程序
EN

Stack Overflow用户
提问于 2016-01-09 06:40:09
回答 1查看 31关注 0票数 1

当用户进入我的网站时,我会在中间件的帮助下创建一个购物车,如下所示:

代码语言:javascript
复制
public function handle($request, Closure $next)
{

    $cartId =  $request->cookie('cartid');
    if($cartId == null) {
        $cart = new Cart();
        $cart->save();
        $cartId = $cart->id;
        $newCoockie = true;
    }
    else
    {
        $currentCart = Cart::find($cartId);
        if($currentCart == null){
            $cart = new Cart();
            $cart->save();
            $cartId = $cart->id;
            $newCoockie = true;
        }
    }
    $ip = "onbekend";
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    $cart->ip = $ip;
    $cart->save();
    $cookie = Cookie::forever('cartid', $cartId);
    return $next($request)->withCookie($cookie);
}

它工作得很好,但现在我遇到了一个网络爬虫的问题。当查看我的数据库时,我可以看到有很多由this这样的网络爬虫创建的购物车,在过去的几天里,他们每30秒发送一个请求!如何避免为所有webcrawler请求创建购物车?

EN

回答 1

Stack Overflow用户

发布于 2016-01-09 06:45:16

除非每个请求都需要有一个活动购物车的原因,否则您可能希望仅在有人实际尝试将某些东西放入其中时才考虑创建购物车。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34687305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档