1. API Güvenlik Tehditleri ⚠️
En yaygın API saldırıları:
- SQL Injection 🕳️
- XSS (Cross-Site Scripting) 📜
- CSRF (Cross-Site Request Forgery) 🏹
- DDOS ⚡
- Authentication Bypass 🕵️
// Güvensiz örnek (SQL Injection açığı)
$users = DB::select("SELECT * FROM users WHERE email = '".$request->email."'");
2. SQL Injection'dan Korunma 🛡️
Laravel Eloquent Kullanımı
// Güvenli yöntem
$user = User::where('email', $request->email)->first();
Parametre Bağlama (Parameter Binding)
// Raw query'lerde bile güvenli
DB::select('SELECT * FROM users WHERE email = ?', [$request->email]);
Stored Procedure Kullanımı
DB::select('CALL get_user_by_email(?)', [$request->email]);
3. XSS (Cross-Site Scripting) Koruması ✂️
Blade Template Otomatik Escaping
<!-- Güvenli çıktı -->
{{ $userInput }}
<!-- HTML çıktısı (dikkatli kullanın) -->
{!! $sanitizedHtml !!}
HTML Purifier Paketi
composer require mews/purifier
use Mews\Purifier\Facades\Purifier; $cleanHtml = Purifier::clean($dirtyHtml);
4. CSRF Koruma Mekanizmaları 🛡️
Formlar İçin Otomatik Koruma
<form method="POST">
@csrf
<!-- ... -->
</form>
API'ler İçin Özel Middleware
// app/Http/Middleware/VerifyApiCsrfToken.php
protected $except = [
'api/webhook/*' // CSRF koruması istisnaları
];
5. Rate Limiting ile DDOS Koruma ⚡
// app/Providers/RouteServiceProvider.php
protected function configureRateLimiting()
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by($request->ip());
});
}
6. Güvenlik Header'ları 🚧
Middleware ile Zorunlu Header'lar
// app/Http/Middleware/SecureHeaders.php
$response->headers->set('X-Content-Type-Options', 'nosniff');
$response->headers->set('X-Frame-Options', 'DENY');
$response->headers->set('X-XSS-Protection', '1; mode=block');
7. Laravel Security Paketleri 📦
PaketAçıklamaKurulumlaravel-securityÇeşitli güvenlik önlemlericomposer require spatie/laravel-securitycorsCORS yönetimicomposer require fruitcake/laravel-corsfirewallIP bazlı filtrelemecomposer require pragmarx/firewall
8. Güvenlik Test Araçları 🧪
SQL Injection Testi
sqlmap -u "http://site.com/api/users?id=1" --risk=3 --level=5
XSS Testi
// Postman'da test
fetch('/api/search?q=<script>alert(1)</script>')
Güvenlik Önlemleri Karşılaştırması 📊
TehditKoruma YöntemiEtkinlikLaravel DesteğiSQL Inj.Eloquent/Param Binding⭐⭐⭐⭐⭐
FullXSSBlade Escaping/HTML Purifier⭐⭐⭐⭐
PartialCSRFVerifyCsrfToken Middleware⭐⭐⭐⭐⭐
FullDDOSRate Limiting⭐⭐⭐Full
Sonuç: Sağlam Bir API Kalesi 🏰
Bu önlemlerle:
- Saldırı yüzeyinizi %90 azaltın 📉
- Kullanıcı verilerini koruyun 🔐
- API güvenilirliğini artırın 🚀
API güvenliği için hangi önlemleri alıyorsunuz? Yorumlarda paylaşın! 💬
Serimizin sonraki yazıları için takipte kalın! 🎯
#Laravel #APISecurity #WebSecurity #SQLInjection #XSS 🔒
+(51).png&w=320&q=50)


