spatie/laravel-csp, Laravel uygulamalarının HTTP yanıtlarına Content Security Policy (CSP) başlıkları eklemek için kullanılan bir PHP paketidir. CSP, tarayıcıların hangi kaynaklardan içerik yükleyebileceğini belirleyerek siteler arası betik çalıştırma (XSS) ve veri enjeksiyonu saldırılarını önlemeye yardımcı olur. Paket, CSP kurallarını merkezi bir yapılandırma dosyası üzerinden yönetme imkanı sunar ve Laravel uygulamalarına kolayca entegre edilebilir.
Hangi ihtiyaçlarda değerlendirilebilir?
- Laravel tabanlı web uygulamaları geliştiren ekipler
- Güvenlik başlıklarını merkezi olarak yönetmek isteyen geliştiriciler
- XSS ve veri enjeksiyonu saldırılarına karşı koruma arayan projeler
Yaygın kullanım alanları
Güvenlik Başlıklarını Standartlaştırma
Tüm HTTP yanıtlarına tutarlı CSP başlıkları ekleyerek uygulamanın güvenlik politikasını tek bir yerden yönetmek.
XSS Saldırılarını Azaltma
Tarayıcıların yalnızca güvenilir kaynaklardan içerik yüklemesine izin vererek siteler arası betik çalıştırma riskini düşürmek.
Uyumluluk ve Denetim
CSP başlıklarını belirli sayfalara veya gruplara uygulayarak güvenlik gereksinimlerini karşılamak ve denetim süreçlerini kolaylaştırmak.
İncelenmesi gereken noktalar
- CSP kuralları yanlış yapılandırılırsa uygulamanın mevcut kaynakları (script, style, görsel) engellenebilir; bu nedenle dikkatli test edilmelidir.
- Paket yalnızca Laravel uygulamaları için tasarlanmıştır; diğer PHP framework'leri veya saf PHP projeleri için uygun değildir.
- CSP başlıkları tarayıcı tarafından uygulanır; eski tarayıcılar bazı direktifleri desteklemeyebilir, bu nedenle hedef kitle göz önünde bulundurulmalıdır.
WordPress.org
Kurulum ve geliştirme notları
Paket Composer ile kurulur ve Laravel uygulamasına otomatik olarak kaydedilir. Yapılandırma dosyası yayınlanarak CSP kuralları özelleştirilebilir.
- 1Composer kullanarak paketi projeye ekleyin: composer require spatie/laravel-csp
- 2Yapılandırma dosyasını yayınlayın: php artisan vendor:publish --provider="Spatie\Csp\CspServiceProvider" --tag="csp-config"
- 3config/csp.php dosyasını düzenleyerek CSP kurallarını belirleyin.
Paket, CSP politikasını tanımlamak için bir profil sınıfı kullanır. Varsayılan profil, temel direktifleri içerir ve gerektiğinde özelleştirilebilir.
- CSP profilleri oluşturarak farklı sayfalar için farklı politikalar tanımlayabilirsiniz.
- Direktifler (default-src, script-src, style-src vb.) üzerinde ince ayar yapma imkanı sunar.
- Laravel'in middleware yapısıyla entegre çalışır; belirli rotalara veya gruplara uygulanabilir.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
Laravel uygulamanızın ihtiyaçlarına özel CSP politikaları tasarlamak ve mevcut güvenlik altyapınızı güçlendirmek için ZeplinGo olarak kapsam belirleme ve geliştirme hizmeti sunuyoruz. Projenizin gereksinimlerini birlikte analiz ederek en uygun çözümü planlayabiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
spatie/laravel-csp paketi hangi Laravel sürümlerini destekler?
Paket, Laravel'in güncel sürümleriyle uyumlu olacak şekilde geliştirilmektedir. Ancak kesin sürüm gereksinimleri için paketin resmi dokümantasyonunu kontrol etmeniz önerilir.
CSP başlıkları eklemek uygulamamın performansını etkiler mi?
CSP başlıkları sunucu tarafında küçük bir işlem yükü ekler, ancak genellikle ihmal edilebilir düzeydedir. Asıl etki tarayıcı tarafındadır ve güvenlik açısından önemli faydalar sağlar.
Paketi kullanmak için ek bir ücret ödemem gerekir mi?
spatie/laravel-csp açık kaynaklı bir pakettir ve Packagist üzerinden ücretsiz olarak dağıtılmaktadır. Ancak ZeplinGo olarak biz bu paketin satışını yapmıyoruz; yalnızca projelerinize entegrasyonu konusunda danışmanlık ve geliştirme hizmeti sunuyoruz.