$ loading_
帮助开发者落实 Laravel 安全最佳实践,覆盖认证授权、常见漏洞防护与安全部署。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "laravel-security" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/skills/laravel-security/SKILL.md 2. 保存为 ~/.claude/skills/laravel-security/SKILL.md 3. 装好后重载技能,告诉我可以用了
请检查一个 Laravel 项目的安全最佳实践清单,重点覆盖身份认证、授权策略、CSRF、防止 XSS、Eloquent 安全用法、API 令牌保护、环境变量管理和生产部署配置,并按高、中、低风险分级给出建议。
一份分级安全检查清单,指出关键风险点与对应修复建议。
我在用 Laravel 构建 API,请给我一套安全方案,涵盖 Sanctum 或 Passport 的选型建议、权限与角色控制、请求频率限制、输入校验、敏感字段保护、错误信息最小化,以及常见 API 攻击面的防护措施。
一套面向 Laravel API 的安全设计建议与可执行实施要点。
请总结 Laravel 项目中最常见的安全问题,例如未授权访问、批量赋值风险、SQL 注入误用、XSS、文件上传漏洞和调试配置泄露,并分别给出错误示例、正确做法和排查建议。
按漏洞类型整理的安全指南,包含问题说明、修复示例与排查方法。
Comprehensive security guidelines for Laravel applications to protect against common vulnerabilities.
// config/app.php
'env' => env('APP_ENV', 'production'),
'debug' => (bool) env('APP_DEBUG', false), // CRITICAL: Never true in production
'key' => env('APP_KEY'), // Must be set: php artisan key:generate
// config/session.php
'secure' => env('SESSION_SECURE_COOKIE', true),
'http_only' => true,
'same_site' => 'lax',
// Verify APP_KEY is set at boot
// bootstrap/app.php or a service provider
if (empty(config('app.key'))) {
throw new RuntimeException('APP_KEY is not set. Run: php artisan key:generate');
}
# NEVER commit .env to version control
# .gitignore already includes .env by default
# Use .env.example with placeholders instead
DB_PASSWORD=
APP_KEY=
SANCTUM_TOKEN_PREFIX=
# Validate required variables at boot
// In AppServiceProvider::boot()
$requiredKeys = ['app.key', 'database.connections.mysql.database', 'database.connections.mysql.username'];
foreach ($requiredKeys as $key) {
if (empty(config($key))) {
throw new RuntimeException("Missing required config key: {$key}");
}
}
// AppServiceProvider::boot() or middleware
if (app()->environment('production')) {
URL::forceScheme('https');
request()->server->set('HTTPS', 'on');
}
// config/app.php for trusted proxies (load balancers)
// Use specific IP ranges — * trusts all, allowing X-Forwarded-* spoofing
// AWS: '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16'
'trusted_proxies' => ['10.0.0.0/8', '172.16.0.0/12'],
// Force HTTPS in production via middleware
// app/Http/Middleware/ForceHttps.php
public function handle($request, Closure $next)
{
if (!$request->secure() && app()->environment('production')) {
return redirect()->secure($request->getRequestUri());
}
return $next($request);
}
// config/sanctum.php
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
'%s%s',
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
env('APP_URL') ? ',' . parse_url(env('APP_URL'), PHP_URL_HOST) : ''
)));
'expiration' => 60 * 24, // Token expiration in minutes (null = never)
'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),
// Issuing tokens with abilities
$token = $user->createToken('api-token', ['read', 'write'])->plainTextToken;
// Validate abilities on routes
Route::middleware('auth:sanctum')->group(function () {
Route::get('/orders', function () {
// User must have 'read' ability
abort_unless(Auth::user()->tokenCan('read'), 403);
// ...
})->middleware('abilities:read');
Route::post('/orders', function () {
// User must have 'write' ability
abort_unless(Auth::user()->tokenCan('write'), 403);
// ...
})->middleware('abilities:write');
});
// config/hashing.php
// Default is bcrypt. Argon2id is stronger.
'bcrypt' => [
'rounds' => env('BCRYPT_ROUNDS', 12), // Increase for stronger hashing
],
'argon' => [
'memory' => 65536,
'threads' => 4,
'time' => 4,
],
// Password validation in RegisterRequest
public function rules(): array
{
return [
'password' => [
'required',
'confirmed',
Password::min(12)
->letters()
->mixedCase()
->numbers()
…
帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
提供 Laravel 安全最佳实践,帮助加固认证授权、输入校验与安全部署。
帮助开发者落实 Laravel 安全最佳实践,覆盖认证授权、输入校验与安全部署。
帮助开发者落实 Django 安全最佳实践,构建更安全的认证、授权与部署方案。
提供 Django 安全开发与部署最佳实践,帮助降低常见 Web 漏洞风险。
帮助开发者为 Spring Boot 服务落实认证授权与安全加固最佳实践。
提供 Spring Boot 服务认证授权与安全加固最佳实践建议。