En yaygın API saldırıları:
// Güvensiz örnek (SQL Injection açığı) $users = DB::select("SELECT * FROM users WHERE email = '".$request->email."'");
// Güvenli yöntem $user = User::where('email', $request->email)->first();
// Raw query'lerde bile güvenli DB::select('SELECT * FROM users WHERE email = ?', [$request->email]);
DB::select('CALL get_user_by_email(?)', [$request->email]);
<!-- Güvenli çıktı --> {{ $userInput }} <!-- HTML çıktısı (dikkatli kullanın) --> {!! $sanitizedHtml !!}
composer require mews/purifier
use Mews\Purifier\Facades\Purifier; $cleanHtml = Purifier::clean($dirtyHtml);
<form method="POST"> @csrf <!-- ... --> </form>
// app/Http/Middleware/VerifyApiCsrfToken.php protected $except = [ 'api/webhook/*' // CSRF koruması istisnaları ];
// app/Providers/RouteServiceProvider.php protected function configureRateLimiting() { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by($request->ip()); }); }
// 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');
PaketAçıklamaKurulumlaravel-securityÇeşitli güvenlik önlemlericomposer require spatie/laravel-security
corsCORS yönetimicomposer require fruitcake/laravel-cors
firewallIP bazlı filtrelemecomposer require pragmarx/firewall
sqlmap -u "http://site.com/api/users?id=1" --risk=3 --level=5
// Postman'da test fetch('/api/search?q=<script>alert(1)</script>')
TehditKoruma YöntemiEtkinlikLaravel DesteğiSQL Inj.Eloquent/Param Binding⭐⭐⭐⭐⭐
FullXSSBlade Escaping/HTML Purifier⭐⭐⭐⭐
PartialCSRFVerifyCsrfToken Middleware⭐⭐⭐⭐⭐
FullDDOSRate Limiting⭐⭐⭐Full
Bu önlemlerle:
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 🔒