Skills Plugins MCP Prompt Model 博客 我的中心

laravel-security

Laravel security best practices for authn/authz, validation, CSRF, mass assignment, file uploads, secrets, rate limiting, and secure deployment.

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=affaan-m-ecc-docs-tr-skills-laravel-security-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name laravel-security description Laravel security best practices for authn/authz, validation, CSRF, mass assignment, file uploads, secrets, rate limiting, and secure deployment. origin ECC Laravel Güvenlik En İyi Uygulamaları Laravel uygulamalarını yaygın güvenlik açıklarına karşı korumak için kapsamlı güvenlik rehberi. Ne Zaman Aktif Edilir Kimlik doğrulama veya yetkilendirme ekleme Kullanıcı girişi ve dosya yüklemelerini işleme Yeni API endpoint'leri oluşturma Gizli bilgileri ve ortam ayarlarını yönetme Production deployment'ları sertleştirme Nasıl Çalışır Middleware temel korumalar sağlar (CSRF için VerifyCsrfToken , güvenlik başlıkları için SecurityHeaders ). Guard'lar ve policy'ler erişim kontrolünü zorlar ( auth:sanctum , $this->authorize , policy middleware). Form Request'ler servislere ulaşmadan önce girişi doğrular ve şekillendirir ( UploadInvoiceRequest ). Rate limiting, auth kontrolleri ile birlikte kötüye kullanım koruması ekler ( RateLimiter::for('login') ). Veri güvenliği encrypted cast'lerden, mass-assignment korumalarından ve signed route'lardan gelir ( URL::temporarySignedRoute + signed middleware). Temel Güvenlik Ayarları Production'da APP_DEBUG=false APP_KEY ayarlanmalı ve tehlikeye girdiğinde döndürülmelidir SESSION_SECURE_COOKIE=true ve SESSION_SAME_SITE=lax ayarlayın (veya hassas uygulamalar için strict ) Doğru HTTPS algılama için güvenilir proxy'leri yapılandırın Session ve Cookie Sertleştirme JavaScript erişimini önlemek için SESSION_HTTP_ONLY=true ayarlayın Yüksek riskli akışlar için SESSION_SAME_SITE=strict kullanın Login ve ayrıcalık değişikliklerinde session'ları yeniden oluşturun Kimlik Doğrulama ve Token'lar API kimlik doğrulama için Laravel Sanctum veya Passport kullanın Hassas veriler için yenileme akışları ile kısa ömürlü token'ları tercih edin Logout ve tehlikeye girmiş hesaplarda token'ları iptal edin Örnek route koruması: use Illuminate \ Http \ Request ; use Illuminate \ Support \ Facades \ Route ; Route :: middleware ( 'auth:sanctum' )-> get ( '/me' , function (Request $request ) { return $request -> user (); }); Parola Güvenliği Hash::make() ile parolaları hash'leyin ve asla düz metin saklamayın Sıfırlama akışları için Laravel'in password broker'ını kullanın use Illuminate \ Support \ Facades \ Hash ; use Illuminate \ Validation \ Rules \ Password ; $validated = $request -> validate ([ 'password' => [ 'required' , 'string' , Password :: min ( 12 )-> letters ()-> mixedCase ()-> numbers ()-> symbols ()], ]); $user -> update ([ 'password' => Hash :: make ( $validated [ 'password' ])]); Yetkilendirme: Policy'ler ve Gate'ler Model seviyesi yetkilendirme için policy'leri kullanın Controller'larda ve servislerde yetkilendirmeyi zorlayın $this -> authorize ( 'update' , $project ); Route seviyesi zorlama için policy middleware kullanın: use Illuminate \ Support \ Facades \ Route ; Route :: put ( '/projects/{project}' , [ ProjectController :: class , 'update' ]) -> middleware ([ 'auth:sanctum' , 'can:update,project' ]); Validation ve Veri Temizleme Her zaman Form Request'ler ile girişleri doğrulayın Sıkı validation kuralları ve tip kontrolleri kullanın Türetilmiş alanlar için request payload'larına asla güvenmeyin Mass Assignment Koruması $fillable veya $guarded kullanın ve Model::unguard() kullanmaktan kaçının DTO'ları veya açık attribute mapping'i tercih edin SQL Injection Önleme Eloquent veya query builder parametre binding kullanın Kesinlikle gerekli olmadıkça raw SQL kullanmaktan kaçının DB:: select ( 'select * from users where email = ?' , [ $email ]); XSS Önleme Blade varsayılan olarak çıktıyı escape eder ( {{ }} ) {!! !!} sadece güvenilir, temizlenmiş HTML için kullanın Zengin metni özel bir kütüphane ile temizleyin CSRF Koruması VerifyCsrfToken middleware'ini etkin tutun Formlara @csrf ekleyin ve SPA istekleri için XSRF token'ları gönderin Sanctum ile SPA kimlik doğrulaması için, stateful isteklerin yapılandırıldığından emin olun: // config/sanctum.php 'stateful' => explode ( ',' , env ( 'SANCTUM_STATEFUL_DOMAINS' , 'localhost' )), Dosya Yükleme Güvenliği Dosya boyutunu, MIME tipini ve uzantısını doğrulayın Mümkün olduğunda yüklemeleri public path dışında saklayın Gerekirse dosyaları malware için tarayın final class UploadInvoiceRequest extends FormRequest { public function authorize ( ): bool { return ( bool ) $this -> user ()?-> can ( 'upload-invoice' ); } public function rules ( ): array { return [ 'invoice' => [ 'required' , 'file' , 'mimes:pdf' , 'max:5120' ], ]; } } $path = $request -> file ( 'invoice' )-> store ( 'invoices' , config ( 'filesystems.private_disk' , 'local' ) // bunu public olmayan bir disk 'e ayarlayın ); Rate Limiting Auth ve yazma endpoint'lerinde throttle middleware'i uygulayın Login, password reset ve OTP için daha sıkı limitler kullanın use Illuminate \ Cache \ RateLimiting \ Limit ; use Illuminate \ Http \ Request ; use Illuminate \ Support \ Facades \ RateLimiter ; RateLimiter :: for ( 'login' , function ( Request $request ) { return [ Limit :: perMinute ( 5 )-> by ( $request -> ip ()), Limit :: perMinute ( 5 )-> by ( strtolower (( string ) $request -> input ( 'email' ))), ]; }); Gizli Bilgiler ve Kimlik Bilgileri Gizli bilgileri asla kaynak kontrolüne commit etmeyin Ortam değişkenlerini ve gizli yöneticileri kullanın Maruz kalma sonrası anahtarları döndürün ve session'ları geçersiz kılın Şifreli Attribute'lar Bekleyen hassas sütunlar için encrypted cast'leri kullanın. protected $casts = [ 'api_token' => 'encrypted' , ]; Güvenlik Başlıkları Uygun yerlerde CSP, HSTS ve frame koruması ekleyin HTTPS yönlendirmelerini zorlamak için güvenilir proxy yapılandırması kullanın Başlıkları ayarlamak için örnek middleware: use Illuminate \ Http \ Request ; use Symfony \ Component \ HttpFoundation \ Response ; final class SecurityHeaders { public function handle ( Request $request , \ Closure $next ): Response { $response = $next ( $request ); $response ->headers-> add ([ 'Content-Security-Policy' => "default-src 'self'" , 'Strict-Transport-Security' => 'max-age=31536000' , // tüm subdomain 'ler HTTPS olduğunda includeSubDomains/preload ekleyin ' X-Frame-Options ' => ' DENY ', ' X-Content-Type-Options ' => ' nosniff ', ' Referrer-Policy ' => ' no-referrer ', ]); return $response; } } CORS ve API Erişimi config/cors.php 'de origin'leri kısıtlayın Kimlik doğrulamalı route'lar için wildcard origin'lerden kaçının // config/cors.php return [ 'paths' => [ 'api/*' , 'sanctum/csrf-cookie' ], 'allowed_methods' => [ 'GET' , 'POST' , 'PUT' , 'PATCH' , 'DELETE' ], 'allowed_origins' => [ 'https://app.example.com' ], 'allowed_headers' => [ 'Content-Type' , 'Authorization' , 'X-Requested-With' , 'X-XSRF-TOKEN' , 'X-CSRF-TOKEN' , ], 'supports_credentials' => true , ]; Loglama ve PII Parolaları, token'ları veya tam kart verilerini asla loglamayın Yapılandırılmış loglarda hassas alanları redakte edin use Illuminate \ Support \ Facades \ Log ; Log :: info ( 'User updated profile' , [ 'user_id' => $user ->id, 'email' => '[REDACTED]' , 'token' => '[REDACTED]' , ]); Bağımlılık Güvenliği Düzenli olarak composer audit çalıştırın Bağımlılıkları dikkatle sabitleyin ve CVE'lerde hızlıca güncelleyin Signed URL'ler Geçici, kurcalamaya dayanıklı bağlantılar için signed route'ları kullanın. use Illuminate \ Support \ Facades \ URL ; $url = URL:: temporarySignedRoute ( 'downloads.invoice' , now ()-> addMinutes ( 15 ), [ 'invoice' => $invoice ->id] ); use Illuminate \ Support \ Facades \ Route ; Route :: get ( '/invoices/{invoice}/download' , [ InvoiceController :: class , 'download' ]) -> name ( 'downloads.invoice' ) -> middleware ( 'signed' );
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。