{
"event": "PreToolUse",
"tool_name": "Grep",
"tool_input": {
"pattern": "requireCsrf|_csrf_token",
"path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework",
"output_mode": "content",
"-C": 5,
"-n": true
}
}
{
"tool_response": {
"mode": "content",
"numFiles": 0,
"filenames": [],
"content": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-2-\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-3-namespace Framework;\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-4-\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-5-class CsrfService\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-6-{\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php:7: private const TOKEN_NAME = '_csrf_token';\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-8- private const TOKEN_LENGTH = 32;\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-9-\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-10- public static function generateToken(): string\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-11- {\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/CsrfService.php-12- if (empty($_SESSION[self::TOKEN_NAME])) {\n--\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-14- return CsrfService::getTokenField();\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-15- }\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-16-\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-17- protected function validateCsrf(): bool\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-18- {\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php:19: $token = $_POST['_csrf_token'] ?? $_SERVER['HTTP_X_CSRF_TOKEN'] ?? null;\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-20-\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-21- return CsrfService::validateToken($token);\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-22- }\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-23-\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php:24: protected function requireCsrf(): void\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-25- {\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-26- if (!$this->validateCsrf()) {\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-27- http_response_code(403);\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-28- if ($this->isJsonRequest()) {\n\/var\/www\/dev.campus.systemische-tools.de\/src\/Framework\/Controller.php-29- $this->json(['error' => 'CSRF token invalid'], 403);",
"numLines": 28
}
}