saintx adlı üyeden alıntı: mesajı görüntüle
Merhaba,

Laravel 5.6 sürümünde yeniden proje geliştirmeye başladım. Cloudflare altında kullanıldığında IP tanımama sorunu yaşanıyor. (Özellikle "Flexible SSL" modunda)

Bu sorunu çözmek için ufak bir paket hazırladım. Bu paket Cloudflare'in IP bloklarını otomatik olarak güvenilir olarak ekliyor. Bu sayede ziyaretçinin IP adresini doğru bir şekilde alabiliyoruz.

GitHub adresi: https://github.com/ogunkarakus/larav...e-trustedproxy

Kurulumunu anlatayım.

Composer'dan paketi dahil edelim.
composer require karakus/laravel-cloudflare-trustedproxy
5.6 sürümünde "service provider" eklemenize gerek yok. otomatik olarak tanıma yapıyor.

app/Http/Kernel.php dosyasını açalım.
protected $middleware
dizisine (array) aşağıdaki sınıfı dahil edelim.
KarakusCloudflareHttpMiddlewareTrustProxies::class,
eklediğinizde aşağıdaki gibi olacak.

    protected $middleware = [
        IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class,
        IlluminateFoundationHttpMiddlewareValidatePostSize::class,
        AppHttpMiddlewareTrimStrings::class,
        IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,
        AppHttpMiddlewareTrustProxies::class,
        KarakusCloudflareHttpMiddlewareTrustProxies::class,
    ];
bu adımdan sonra konsola dönerek,
php artisan cloudflare:reload
komutunu çalıştıralım. bu komut ip bloklarını otomatik olarak çekecektir.
bu komutu cronjob'a veya schedule alanına ekleyerek kullanabilirsiniz.
günlük olarak güncellenmesi yeterli olacaktır.

eklenen ip bloklarını görmek için,
php artisan cloudflare:view
komutunu çalıştırabilirsiniz.

Paketi çok sade olarak hazırladım. Daha gelişmiş olarak düzenlemesini yapacağım.

Saygılarımla, Ogün Karakuş
Eline sağlık. Bu paket cloudflarenin ipsi değide kullanıcının gerçek ipsini almak için ise ngnix yada apxhe tarafında cf ip bloklarını ekleyerek almak daha mantıklı ve hafif bir çözüm olur.