Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Sitemizde Redis de aşırı session olduğunu fark etdik aylık 500k tekil ziyaretçi alan sitenin session miktarı 10m ulaşmışdı sorunun Google ve Yandex botlardan kayaklandığını fark etik cookie saklamadıkları için her ziyaretde yeni session oluşuyordu.
Ben de küçük bir kod eklemesi yazarak sorunu çözdüm

 <?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Str;

class DisableBotSession
{

    private static $bots = [
        'Googlebot',
        'YandexBot',
        'YandexMobileBot'
    ];

    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Str::contains($request->userAgent(), static::$bots)) {
            config()->set('session.driver', 'array');
        }
        return $next($request);
    }
}

Session tamamen kapatmak yerine array olarak kullanmak daha güvenli olacağını düşündüm.

//App\Http/Kernel
protected $middlewareGroups = [
        'web' => [
         \App\Http\Middleware\DisableBotSession::class,
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ]

dikkat etmeniz gereken StartSession dan yukarıda eklemek

    Teşekkürler.

    TheHasanov Sessionları neden redis üzerinde tutuyorsunuz acaba artısı veya eksisi nedir bilgi verebilirmisiniz. Başka hangi verileri redis üzerinde tutuyorsunuz. Son olarak laravel performansından memnunmusunuz yüksek hitte. teşekkürler.

      jettem redis kullanma sebebimiz hız file cache nazaran büyük fark yaratıyor cache ve session her ikisi için redis kullanıyoruz
      diğer sebebi redis le database benzer işlemler yapıla biliniyor
      Laravel+opcache memnunuz
      sitenin yavaşlamasına sebeb olan redis le ilgili sorunlarımız var onları çözmeye çalışıyoruz

        TheHasanov
        Peki redisin down olma durumları oluyormu product ' ta çalışırken . Böyle bir senaryo için Master , Slave Yapısı varmıdır ?

          jettem master slave yapısı var uzun bir sürenin ardından redis le sorunlarımız yeni başladı redis de sitenin 2.5m google index var kullanıcılar bu sayfalara bakmasalar bile googlebot beli aralıklarla kontrol ediyor bu sayfaları redis cok fazla data toplandığı için yavaşlama yaşadık
          tabi sorun redis değil doğru şekil de kullanılmadığı için gecikme yaşanıyor bizde bunları çözmeye başladık çünki site tepkisi yavasladıkca ziyaretçi kayb ediyoruz seo da ciddi zarar veriyor