Fix bind_param type mismatches and integer validation
- TemplateModel.php: fix bind_param "ssssiii" -> "sssssii" (5 strings not 4) - manage_workflows.php: fix bind_param 'ssiiii' -> 'ssiiiii' (4 int columns) - download_attachment.php, delete_attachment.php, get_template.php: replace is_numeric() with strict int cast+equality check to reject floats and scientific notation - manage_recurring.php: validate JSON input before accessing schedule_type key Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -24,18 +24,15 @@ try {
|
||||
}
|
||||
|
||||
// Get template ID from query parameter
|
||||
$templateId = $_GET['template_id'] ?? null;
|
||||
$templateId = isset($_GET['template_id']) ? (int)$_GET['template_id'] : 0;
|
||||
|
||||
if (!$templateId || !is_numeric($templateId)) {
|
||||
if ($templateId <= 0 || (string)$templateId !== (string)($_GET['template_id'] ?? '')) {
|
||||
ErrorHandler::sendValidationError(
|
||||
['template_id' => 'Valid template ID required'],
|
||||
'Invalid request'
|
||||
);
|
||||
}
|
||||
|
||||
// Cast to integer for safety
|
||||
$templateId = (int)$templateId;
|
||||
|
||||
// Get template
|
||||
$conn = Database::getConnection();
|
||||
$templateModel = new TemplateModel($conn);
|
||||
|
||||
Reference in New Issue
Block a user