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ş