🛒 scripte-pay.de

Coder-Lab - Code Analyse & Hilfe System

Coder-Lab - Code Analyse & Hilfe System

Unser Coder-Labor von scripte-php.de als eigenes Script. In jede Homepage zu integrieren.
Ein eigenständiges PHP-Script für Code-Analyse-Anfragen mit Email-Verifikation ohne Login-System.

## ✨ Features

### Kern-Funktionalität
- ✅ **Formular ohne Captcha** - Sicherheit durch Auth-Code
- ✅ **6-stelliger Auth-Code** - Email-Verifikation statt Login
- ✅ **Automatische Installation** - install.php löscht sich selbst
- ✅ **Keine externen Dependencies** - Reines PHP mit `mail()`
- ✅ **File-Upload** - Bis 2MB für Code-Dateien
- ✅ **Admin-Benachrichtigung** - Nur nach Verifizierung
- ✅ **Modernes Design** - Responsive & Clean

### Sicherheit
- 🔒 Auth-Code mit 24h Gültigkeit
- 🔒 Max. 3 Versuche pro Code
- 🔒 Status "pending" bis zur Verifizierung
- 🔒 Upload-Ordner geschützt (.htaccess)
- 🔒 Prepared Statements (SQL-Injection-Schutz)

### Email-System
- 📧 **User:** Verifikations-Email mit 6-stelligem Code
- 📧 **Admin:** Benachrichtigung nur bei verifizierten Anfragen
- 📧 **Updates:** Optional bei Status-Änderungen

## 📋 System-Anforderungen

- **PHP:** 7.4 oder höher
- **MySQL:** 5.7 oder höher
- **PHP Extensions:** mysqli, fileinfo
- **PHP Funktionen:** `mail()` muss funktionieren
- **Speicherplatz:** Min. 50MB für Uploads

## 🚀 Installation

### 1. Dateien hochladen
Lade alle Dateien in dein Webverzeichnis hoch:
```
/dein-verzeichnis/
├── install.php
├── index.php
├── verify.php
├── view.php
├── admin.php
├── download.php
├── config.php (wird erstellt)
├── functions.php
├── uploads/ (wird erstellt)
```

### 2. Installation starten
Öffne im Browser:
```
https://deine-domain.de/pfad-zum-script/install.php
```

### 3. Installations-Schritte

**Schritt 1: Datenbank-Konfiguration**
- Datenbank-Host (meist `localhost`)
- Datenbank-Name
- Datenbank-Benutzer
- Datenbank-Passwort
- Admin-Email (für Benachrichtigungen)

**Schritt 2: Tabellen erstellen**
- Automatisch! Erstellt 4 Tabellen:
- `coderlab_requests` - Haupt-Tabelle
- `coderlab_auth_codes` - Verifikations-Codes
- `coderlab_messages` - Nachrichten/Antworten
- `coderlab_notifications` - Email-Log

**Schritt 3: Config erstellen**
- Automatisch! Erstellt `config.php`

**Schritt 4: Fertig!**
- `install.php` wird automatisch gelöscht
- Upload-Ordner wird erstellt & geschützt

## 📖 Verwendung

### Für Benutzer

1. **Formular ausfüllen** auf `index.php`
- Name, Email, Titel, Beschreibung
- Optional: Code-Snippet oder Datei-Upload
- Programmiersprache wählen

2. **Email erhalten**
- 6-stelliger Code wird gesendet
- Gültigkeit: 24 Stunden
- Max. 3 Eingabeversuche

3. **Code eingeben** auf `verify.php`
- Code aus Email eingeben
- Bei Erfolg: Anfrage wird aktiviert
- Admin wird benachrichtigt

4. **Status verfolgen** auf `view.php`
- Anfrage ansehen
- Nachrichten lesen
- Dateien herunterladen

### Für Admins

1. **Admin-Panel** öffnen: `admin.php`
- Standard-Passwort: `admin123` (**BITTE ÄNDERN!**)

2. **Anfragen verwalten**
- Filter: Alle, Ausstehend, Aktiv, In Bearbeitung, Gelöst
- Status ändern
- Antworten senden mit Code-Snippets
- Dateien ansehen

3. **Passwort ändern**
Öffne `admin.php` und ändere Zeile 11:
```php
$admin_password = 'dein-sicheres-passwort';
```

**WICHTIG:** Schütze `admin.php` zusätzlich mit `.htaccess`!

## ⚙️ Konfiguration

### config.php anpassen

Nach der Installation kannst du `config.php` manuell anpassen:

```php
// Email-Einstellungen
define('EMAIL_FROM', 'noreply@deine-domain.de');
define('EMAIL_FROM_NAME', 'Dein Coder-Lab');

// Auth-Code Settings
define('AUTH_CODE_LENGTH', 6); // Code-Länge
define('AUTH_CODE_EXPIRY_HOURS', 24); // Gültigkeit
define('AUTH_CODE_MAX_ATTEMPTS', 3); // Max. Versuche

// Upload Settings
define('MAX_FILE_SIZE', 2097152); // 2MB
```

### Email-Versand konfigurieren

Das Script verwendet PHPs `mail()` Funktion. Wenn diese nicht funktioniert:

**Option 1:** SMTP konfigurieren (php.ini)
```ini
[mail function]
SMTP = smtp.dein-provider.de
smtp_port = 587
sendmail_from = noreply@deine-domain.de
```

**Option 2:** PHPMailer einbinden (optional)
- Download: https://github.com/PHPMailer/PHPMailer
- Anleitung in `functions.php` anpassen

## 🗂️ Datenbankstruktur

### coderlab_requests
Haupt-Tabelle für Code-Anfragen
- `id` - Primärschlüssel
- `name`, `email`, `titel`, `beschreibung`
- `code` - Code-Snippet (optional)
- `sprache` - Programmiersprache
- `datei_*` - Upload-Informationen
- `status` - pending, aktiv, in_bearbeitung, geloest, geschlossen
- `prioritaet` - niedrig, normal, hoch, kritisch
- `erstellt_am`, `verifiziert_am`, `aktualisiert_am`

### coderlab_auth_codes
Verifikations-Codes
- `id`, `request_id`, `auth_code`
- `verified`, `attempts`
- `created_at`, `expires_at`, `verified_at`

### coderlab_messages
Nachrichten zwischen User & Admin
- `id`, `request_id`
- `von_admin` (0=User, 1=Admin)
- `absender_name`, `nachricht`
- `code_snippet` (optional)
- `gesendet_am`

### coderlab_notifications
Email-Benachrichtigungs-Log
- `id`, `request_id`, `typ`
- `email_gesendet`, `gesendet_am`

## 🔒 Sicherheit

### Empfohlene Maßnahmen

**1. Admin-Panel schützen**

Erstelle `.htaccess` im Script-Verzeichnis:
```apache
<Files "admin.php">
AuthType Basic
AuthName "Admin-Bereich"
AuthUserFile /absoluter/pfad/.htpasswd
Require valid-user
</Files>
```

`.htpasswd` erstellen:
```bash
htpasswd -c .htpasswd admin
```

**2. Upload-Ordner schützen**

Wird automatisch erstellt, aber prüfe:
```apache
# uploads/.htaccess
Options -Indexes
Deny from all
```

**3. Config-Datei schützen**

```apache
# .htaccess
<Files "config.php">
Deny from all
</Files>
```

**4. Admin-Passwort ändern**

In `admin.php` Zeile 11 ändern!

**5. Email-Versand prüfen**

Teste nach Installation:
```php
mail('deine@email.de', 'Test', 'Test-Email');
```

## 🎨 Anpassung

### Design ändern

CSS ist direkt in den PHP-Dateien eingebettet:
- `index.php` - Formular-Design
- `verify.php` - Verifikations-Seite
- `view.php` - Anfrage-Ansicht
- `admin.php` - Admin-Panel

### Email-Templates anpassen

In `functions.php`:
- Funktion `sendVerificationEmail()` - User-Email
- Funktion `sendAdminNotification()` - Admin-Email

### Neue Status/Prioritäten

In `functions.php` und Datenbank-Schema anpassen:
```sql
ALTER TABLE coderlab_requests
MODIFY status ENUM('pending','aktiv','...');
```

## 🐛 Troubleshooting

### Problem: Email kommt nicht an

**Lösung:**
1. Prüfe Spam-Ordner
2. Teste `mail()` Funktion
3. Prüfe Server-Logs
4. Alternative: PHPMailer einbinden

### Problem: Upload funktioniert nicht

**Lösung:**
1. Prüfe `upload_max_filesize` in php.ini
2. Prüfe `post_max_size` in php.ini
3. Prüfe Schreibrechte auf `uploads/`

### Problem: SQL-Fehler bei Installation

**Lösung:**
1. Prüfe MySQL-Version (min. 5.7)
2. Prüfe Datenbank-Benutzer-Rechte
3. Prüfe Zeichensatz (utf8mb4)

### Problem: install.php löscht sich nicht

**Lösung:**
Lösche manuell per FTP/SSH:
```bash
rm install.php
```

## 📊 Statistiken

Das Script loggt automatisch:
- ✅ Anzahl Anfragen pro Status
- ✅ Email-Versand (Erfolg/Fehler)
- ✅ Verifikations-Versuche

Abrufbar über Admin-Panel (zukünftige Erweiterung).

## 🔄 Updates

1. Backup erstellen:
```bash
mysqldump -u user -p database > backup.sql
cp -r uploads/ uploads_backup/
```

2. Neue Dateien hochladen (außer config.php!)

3. SQL-Updates ausführen (falls vorhanden)

## 📝 Lizenz

Dieses Script ist **frei verwendbar** für private und kommerzielle Projekte.

**Bedingungen:**
- ✅ Kostenlos nutzen
- ✅ Anpassen und erweitern
- ✅ In eigene Projekte einbinden
- ✅ Weitergeben (auch modifiziert)
- ℹ️ Copyright-Hinweis darf entfernt werden
- ℹ️ Keine Garantie oder Haftung

## 💡 Support & Feedback

- **Bugs melden:** Issue auf GitHub erstellen
- **Feature-Wünsche:** Pull Request willkommen
- **Fragen:** admin@scripte-php.de

## 🎯 Changelog

### Version 1.0.0 (2026-02-08)
- ✨ Initial Release
- ✅ Komplette Funktionalität
- ✅ Auto-Installer
- ✅ Auth-Code System
- ✅ Admin-Panel
- ✅ Email-Benachrichtigungen

---

**Viel Erfolg mit deinem Coder-Lab!** 🚀

🔗 Unsere Partner

Scriptworld.de Zahnzusatzversicherung_Fullsize