8 Einträge gefunden
PayPal Shop - E-Commerce System Projektbeschreibung Einfaches aber leistungsstarkes Shop-System mit PayPal-Integration. Produkte verkaufen, Warenkorb-Verwaltung und sichere Zahlungsabwicklung. Ideal für kleine bis mittlere Online-Shops. Hauptfunktionen - Produkt-Katalog - Übersichtliche Produktdarstellung - Warenkorb - Session-basierter Shopping-Cart - PayPal-Zahlung - Sichere Zahlungsabwicklung - Bestell-Verwaltung - Admin-Panel für Bestellungen - Produkt-Management - Produkte hinzufügen/bearbeiten/löschen - Responsive Design - Mobile Shopping-Erlebnis - Download - automatisch nach Zahlung Technische Details - PHP: 8.4+ - Datenbank: MySQL - Sicherheit: PDO, CSRF, Bcrypt - Zahlung: PayPal API - Design: Teal/Türkis Theme - Tabellen-Präfix: Anpassbar Lizenz Einzelplatz-Lizenz - Verwendung für private und kommerzielle Zwecke.
📱 SocialBoost - Social Media Marketing Portal **Version:** Final **Status:** ✅ Production Ready **Datum:** Januar 2026 📖 Über SocialBoost SocialBoost ist ein professionelles SMM-Panel (Social Media Marketing Service), das es Kunden ermöglicht, ihre Inhalte automatisiert auf 5 großen Social-Media-Plattformen zu veröffentlichen. Mit PayPal-Integration, Bewertungssystem und umfangreichem Admin-Panel. ⚡ Schnellstart (3 Minuten) 1. **Dateien hochladen** Alle Dateien auf deinen Webserver (PHP 7.4+ / MySQL 5.7+) 2. **Installation starten** https://deine-domain.com/install.php 3. **Formular ausfüllen** - Datenbank-Zugangsdaten - Website-URL - PayPal E-Mail - Admin-Account erstellen 4. **Fertig!** Portal ist sofort einsatzbereit! 🎯 Features-Übersicht **Multi-Platform Publishing** Kunden wählen aus 5 Plattformen: - 📘 **Facebook** - Reichweite & Engagement - 📷 **Instagram** - Visual Content - 🐦 **X (Twitter)** - Schnelle Updates - 🎵 **TikTok** - Viral Content - 💼 **LinkedIn** - B2B Marketing **Bestellsystem** - 📝 URL & Beschreibung eingeben - 🏷️ Keywords für bessere Reichweite - 🖼️ Bild-Upload (bis 5MB) - ☑️ Plattform-Auswahl (Checkboxes) - 💰 Automatische Preisberechnung - 💳 Direkte PayPal-Zahlung **Preismodell** €0,50 pro Post **Beispiele:** - 1 Plattform = €0,50 - 3 Plattformen = €1,50 - 5 Plattformen (All-In) = €2,50 **Flexible Skalierung** - Kunden bezahlen nur was sie nutzen! **Admin-Panel** - 📊 **Bestellungs-Übersicht** - Alle bezahlten Orders - 📝 **Post-URLs hinzufügen** - Link zu veröffentlichten Posts - ✅ **Status-Verwaltung** - \"paid\" → \"posted\" - 👥 **User-Übersicht** - Alle Kunden - 📈 **Einfache Bedienung** - Klare Navigation **User-Dashboard** - 📊 **Statistiken:** - Anzahl Bestellungen - Veröffentlichte Posts - Gesamtausgaben - 📋 **Bestellungs-Historie** - Alle Orders mit Status - ⭐ **Bewertungssystem** - 5-Sterne-Rating nach Posting - 📈 **Analytics** - Detaillierte Statistiken **Bewertungssystem** Nach erfolgreicher Veröffentlichung können User bewerten: - ⭐⭐⭐⭐⭐ 1-5 Sterne - 💬 Optionaler Kommentar - 📊 Bewertungen werden gespeichert - 🎯 Qualitätskontrolle für Service **PayPal-Integration** - 💳 **Standard PayPal Checkout** - 🔄 **IPN (Instant Payment Notification)** - ✅ **Automatische Status-Updates** - 💰 **EUR als Währung** (konfigurierbar) - 🧪 **Sandbox-Modus** für Tests 💰 Preisgestaltung **Standard-Preis:** €0,50 pro Post (in `config.php` anpassbar) **Preisberechnung:** php Anzahl Plattformen × €0,50 = Gesamtpreis **Beispiel-Bestellung:** URL: https://mein-shop.de Plattformen: Facebook, Instagram, LinkedIn Posts: 3 Preis: 3 × €0,50 = €1,50 **Anpassbar:** In `config.php` kannst du den Preis ändern: php define('PRICE_PER_POST', 0.50); // €0,50 pro Post Möglich: - €0,30 (Budget) - €1,00 (Premium) - €5,00 (Enterprise) 🎨 Design **Farbschema:** - **Primary:** 2563eb (Professionelles Blau) - **Hintergrund:** 0f172a (Dunkel) - **Cards:** Weiß (rgba(255,255,255,0.98)) - **Success:** 10b981 (Grün) - **Warning:** f59e0b (Orange) - **Danger:** ef4444 (Rot) **Schrift:** - **Inter** (Google Fonts) - Modern, clean, professionell **Elemente:** - Glassmorphism-Effekte - Gradient-Buttons - Hover-Animationen - Responsive Grid-Layouts - Badge-System für Status 📱 User-Workflow **1. Registrierung** register.php → Username, E-Mail, Passwort → Account erstellt **2. Login** login.php → E-Mail + Passwort → Dashboard **3. Bestellung erstellen** order.php ↓ URL eingeben (https://...) ↓ Beschreibung (Was soll gepostet werden?) ↓ Keywords (optional) ↓ Bild hochladen (optional, max 5MB) ↓ Plattformen wählen (Checkboxes) ↓ \"Weiter zur Zahlung\" **4. PayPal-Zahlung** paypal_checkout.php ↓ Bestellsummary anzeigen ↓ \"Mit PayPal bezahlen\" Button ↓ PayPal öffnet → Zahlung ↓ Zurück zu payment_success.php **5. Admin postet** Admin sieht Bestellung ↓ Veröffentlicht auf Plattformen ↓ Fügt Post-URLs hinzu ↓ Markiert als \"posted\" **6. User bewertet** my_orders.php ↓ \"Bewerten\" Button erscheint ↓ 1-5 Sterne + Kommentar ↓ Bewertung gespeichert 🔧 Admin-Workflow **1. Login** login.php → Admin-Account → Dashboard mit Admin-Link **2. Bestellungen verwalten** admin.php ↓ Alle bezahlten Bestellungen sehen ↓ Für jede Plattform: - Post-URL eingeben (z.B. facebook.com/posts/123) - URL speichern ↓ Wenn alle URLs hinzugefügt: - \"Als gepostet markieren\" ↓ User kann jetzt bewerten **3. Bestellungs-Details** Jede Bestellung zeigt: - **Username** des Kunden - **Ziel-URL** (Link öffnet in neuem Tab) - **Beschreibung** & Keywords - **Gewählte Plattformen** - **Bild** (falls hochgeladen) - **Status** (paid/posted) - **Post-URLs** (nach Veröffentlichung) ⚙️ Konfiguration **PayPal einrichten** **1. PayPal Business-Account erstellen** - Gehe zu paypal.com - Erstelle Business-Account **2. config.php bearbeiten** php define('PAYPAL_EMAIL', 'deine@paypal-email.com'); define('PAYPAL_SANDBOX', false); // true = Test-Modus define('PAYPAL_CURRENCY', 'EUR'); // oder USD, GBP **3. IPN (Instant Payment Notification) einrichten** - PayPal Dashboard → Account Settings → Notifications - IPN aktivieren - URL eintragen: `https://deine-domain.com/paypal_ipn.php` **4. Test-Modus (Sandbox)** php define('PAYPAL_SANDBOX', true); Ändert PayPal-URL automatisch zu sandbox.paypal.com **Preise anpassen** In `config.php`: php // €0,50 pro Post (Standard) define('PRICE_PER_POST', 0.50); // Andere Beispiele: define('PRICE_PER_POST', 1.00); // €1 pro Post define('PRICE_PER_POST', 2.50); // €2,50 pro Post define('PRICE_PER_POST', 0.30); // €0,30 pro Post Nach Änderung: Datei speichern → Sofort aktiv! **Upload-Limits** Maximale Bild-Größe in `order.php`: php if($_FILES['image']['size'] <= 5000000) // 5MB Ändern auf 10MB: php if($_FILES['image']['size'] <= 10000000) // 10MB **Wichtig:** PHP `upload_max_filesize` muss auch erhöht werden! 📊 Analytics User sehen auf `analytics.php`: **Statistiken:** [Bestellungen] [Veröffentlicht] [Ausgaben] 12 8 €18,00 **Berechnung:** - **Bestellungen:** Alle Orders (paid + posted) - **Veröffentlicht:** Nur status='posted' - **Ausgaben:** Summe aller bezahlten Orders 💡 Tipps für Admins **Schnelle Bearbeitung:** 1. **Bestellung kommt rein** → PayPal-Benachrichtigung 2. **In Admin-Panel** → Order erscheint automatisch 3. **Content erstellen** → Posts auf Plattformen veröffentlichen 4. **URLs eintragen:** - Facebook-URL eintragen - Instagram-URL eintragen - etc. 5. **\"Als gepostet markieren\"** → User wird benachrichtigt **Qualitätssicherung:** - ✅ Immer Screenshots machen - ✅ Post-URLs vollständig (nicht nur ID) - ✅ Alle Plattformen posten (nicht nur 1-2) - ✅ Auf gute Bewertungen achten **Kundenkommunikation:** Da das Portal keine Mail-Benachrichtigungen hat (kann erweitert werden): - User melden sich bei Fragen per E-Mail - Status-Updates über `my_orders.php` sichtbar - Optional: E-Mail bei Status-Änderung implementieren 🔐 Sicherheit **Implementiert:** - ✅ **Password Hashing** - Bcrypt mit hohem Cost - ✅ **CSRF-Protection** - Token-basiert - ✅ **SQL-Injection-Schutz** - PDO Prepared Statements - ✅ **XSS-Schutz** - HTML Escaping (e() Funktion) - ✅ **Session-Security** - Regeneration bei Login - ✅ **File-Upload-Validation** - Größe & Typ geprüft - ✅ **Admin-Only-Bereiche** - isAdmin() Check **Best Practices:** - Uploads außerhalb webroot speichern - HTTPS verwenden (Let's Encrypt) - Regelmäßige Backups - PHP & MySQL aktuell halten 📋 Systemanforderungen **Server:** - **PHP:** 7.4 oder höher - **MySQL:** 5.7 oder höher - **Webserver:** Apache/Nginx - **SSL:** Empfohlen (für PayPal erforderlich) **PHP-Extensions:** - PDO & PDO_MySQL - GD (für Bild-Verarbeitung) - cURL (für PayPal) - Session-Support **Speicherplatz:** - ~5-10 MB für Portal - ~1-5 GB für Uploads (je nach Nutzung) 🚀 Was ist neu? **Version Final:** ✅ Professionelles Blau/Weiß-Design ✅ Kein Error 500 mehr im Admin-Panel ✅ Bewertungssystem funktioniert ✅ Bild-Upload optimiert ✅ PayPal IPN vollständig implementiert ✅ Analytics-Dashboard ✅ Saubere Code-Struktur ✅ Responsive für Mobile 💼 Business-Modell **Für dich (Betreiber):** **Einnahmen:** €0,50 pro Post × Anzahl Posts pro Tag = Tägliche Einnahmen **Beispiel:** - 20 Bestellungen/Tag - Durchschnittlich 3 Plattformen - = 60 Posts/Tag - = €30/Tag - = **€900/Monat** **Kosten:** - Hosting: €10-30/Monat - PayPal-Gebühren: ~2,5% - Zeit für Posting: 2-4h/Tag **Skalierung:** - Automatisierung mit APIs (Facebook Graph API, etc.) - VA (Virtual Assistant) für Posting - Premium-Pakete (höhere Preise) 🎯 Erweiterungsmöglichkeiten **Optional hinzufügen:** **1. E-Mail-Benachrichtigungen** php // Bei neuer Bestellung mail($adminEmail, \"Neue Bestellung\", ...); // Bei Status-Änderung mail($userEmail, \"Post veröffentlicht\", ...); **2. API-Integration** - Facebook Graph API - Instagram Basic Display API - Twitter API v2 - LinkedIn API → Automatisches Posting! **3. Subscription-Model** Statt einzelne Posts: €19,99/Monat = 50 Posts €49,99/Monat = 150 Posts €99,99/Monat = Unlimited **4. White-Label** - Logo & Farben anpassen - Eigenes Branding - Mehrere Domains **5. Reporting** Post-Performance: - Likes - Shares - Kommentare - Reichweite 📞 Support & Hilfe **Installation klappt nicht?** - PHP-Version prüfen (min. 7.4) - MySQL-Zugangsdaten korrekt? - Schreibrechte für `uploads/` Ordner? **PayPal-Zahlung kommt nicht an?** - IPN-URL korrekt eingerichtet? - Sandbox-Modus ausgeschaltet? (`PAYPAL_SANDBOX = false`) - PayPal-E-Mail in config.php korrekt? **Bild-Upload funktioniert nicht?** - `uploads/images/` Ordner existiert? - Schreibrechte gesetzt? (chmod 755) - PHP `upload_max_filesize` groß genug? **Admin-Panel zeigt Error 500?** - In V3 gefixt! - Neu installieren mit install.php 📊 Erfolgsmetriken Nach Installation trackst du: **Wichtige KPIs:** - 📈 **Registrierungen** pro Tag/Woche - 💰 **Umsatz** (täglich/monatlich) - 📦 **Bestellungen** (Anzahl & Durchschnitt) - ⭐ **Bewertungen** (Durchschnitt) - 🔄 **Wiederkehrende Kunden** - 📱 **Beliebteste Plattformen** Diese helfen dir, den Service zu optimieren! 🏆 Best Practices **Für optimale Ergebnisse:** **Als Betreiber:** 1. **Schnelle Bearbeitung** - Max 24h Turnaround 2. **Hochwertige Posts** - Gut formatiert, Hashtags 3. **Alle Plattformen nutzen** - User erwarten alle gewählten 4. **Screenshots archivieren** - Nachweis für Disputes 5. **Gute Bewertungen sammeln** - Vertrauen aufbauen **Preisgestaltung:** - Starte mit €0,50 (konkurrenzfähig) - Premium-Service: €1-2 pro Post - Bundle-Angebote: 10 Posts = 10% Rabatt **Marketing:** - Social Proof zeigen (Bewertungen) - Bevor/Nachher Beispiele - Case Studies von Kunden - Garantie (z.B. \"100% Posting oder Geld zurück\") 📄 Lizenz & Nutzung Diese Software wird \"as is\" bereitgestellt. Nutzung für kommerzielle Projekte erlaubt. Weitergabe des Source Codes nicht gestattet. 🎉 Los geht's! 1. **Installation** (3 Minuten) 2. **PayPal einrichten** (5 Minuten) 3. **Test-Bestellung** machen 4. **Ersten Kunden** gewinnen 5. **Skalieren!** 🚀 **Viel Erfolg mit SocialBoost!** 📱💼 **Version:** Final | **Datum:** Januar 2026 | **Status:** ✅ Production Ready
🚚 KurierExpress - Professionelles Kurierportal 📋 Überblick Komplettes Kurier- und Paketversand-System für Kleinunternehmer - wie DHL/Hermes, aber für kleine Versender. **Hauptfeatures:** - 📦 **Paketversand:** Gewicht, Maße, Wert eingeben - 💰 **Automatische Preisberechnung:** Nach Gewicht, Größe, Entfernung - 💳 **PayPal-Integration:** Sicher online bezahlen (IPN) - 📍 **Live-Tracking:** Echtzeit-Sendungsverfolgung - 📜 **Versandetikett:** Mit Tracking-Nummer - ⚙️ **Admin-Panel:** Sendungen & Preise verwalten ✨ Features im Detail Für Kunden: - ✅ **Registrierung & Login** - ✅ **Sendung erstellen:** - Absender & Empfänger-Daten - Paket-Details (Gewicht, L×B×H, Wert) - Versandoptionen (Standard/Express, Versicherung, Nachnahme) - Automatische Preisberechnung - ✅ **Online bezahlen** (PayPal mit IPN) - ✅ **Dashboard:** Alle Sendungen im Überblick - ✅ **Tracking:** Sendung verfolgen Für Admin/Kurier: - ✅ **Sendungen verwalten:** - Status ändern (Erfasst, Abgeholt, Unterwegs, Zugestellt...) - Standort angeben - Bemerkungen hinzufügen - ✅ **Preise anpassen:** - Gewichts-Staffeln - Größen-Zuschläge - Entfernungs-Zuschläge - ✅ **Statistiken:** Umsatz, offene Sendungen, etc. Öffentlich: - ✅ **Tracking ohne Login:** Tracking-Nummer eingeben - ✅ **Preisübersicht** auf Startseite 💻 Systemanforderungen - **PHP:** 8.0+ - **MySQL:** 5.7+ - **Extensions:** PDO, PDO_MySQL, cURL (für PayPal IPN) 📥 Installation Schritt 1: Dateien hochladen bash Alle Dateien in Webverzeichnis hochladen z.B. /public_html/kurier/ Schritt 2: install.php aufrufen https://ihre-domain.de/install.php Schritt 3: Datenbank eingeben - **DB Host:** `localhost` - **DB Name:** `kurier_db` - **DB User:** `db_user` - **DB Password:** `db_passwort` Schritt 4: Portal konfigurieren - **Portal-Name:** `KurierExpress` (oder eigener Name) - **Tracking-Präfix:** `KE` (wird zu KE-A1B2C3D4) - **PayPal Email:** `ihre@paypal-email.de` (für Zahlungen) Schritt 5: Admin erstellen - **Username:** `admin` - **Password:** `sicheres-passwort` Schritt 6: Installation abschließen - **5 Tabellen** werden erstellt - **Standard-Preise** werden eingefügt - install.php löscht sich selbst - **Fertig!** 🗄️ Datenbank-Struktur 5 Tabellen: **kurier_users:** - id, username, email, password_hash - firma, telefon - created_at **kurier_admin:** - id, username, password_hash - created_at **kurier_sendungen:** - id, user_id, tracking_nr - **Absender:** name, strasse, plz, ort, tel - **Empfänger:** name, strasse, plz, ort, tel - **Paket:** gewicht, laenge, breite, hoehe, inhalt, wert - **Versand:** versandart (standard/express), versicherung, nachnahme - **Zahlung:** preis, bezahlt, bezahlt_am, paypal_txn_id - **Status:** erfasst, bezahlt, abgeholt, unterwegs, depot, zustellung, zugestellt, problem - created_at, updated_at **kurier_status_historie:** - id, sendung_id, status, bemerkung, standort, foto - created_at **kurier_preise:** - id, typ (gewicht/groesse/entfernung), von, bis, preis, beschreibung, aktiv 💰 Preissystem Automatische Berechnung nach: **1. Gewicht:** Bis 2 kg → 5,99 € 2-5 kg → 8,99 € 5-10 kg → 12,99 € 10-20 kg → 19,99 € 20-31,5 kg → 29,99 € **2. Größenzuschlag (längste Kante):** Bis 60 cm → +0 € 60-120 cm → +5 € 120-200 cm → +10 € **3. Entfernungszuschlag (PLZ-basiert):** 0-10 km → +3 € 10-50 km → +6 € 50-150 km → +10 € 150-500 km → +20 € **4. Zusatzoptionen:** Express → +10 € Versicherung → +5 € (bis 500€ Warenwert) **Beispielrechnung:** - Paket 8kg, 80×40×30cm, 150km Entfernung, Express - Gewicht: 12,99€ (5-10kg) - Größe: +5€ (60-120cm) - Entfernung: +10€ (50-150km) - Express: +10€ - **Gesamt: 37,99€** 📦 Sendung erstellen (Kunde) Schritt 1: Daten eingeben **Absender:** - Name/Firma - Straße & Hausnummer - PLZ & Ort - Telefon **Empfänger:** - Name/Firma - Straße & Hausnummer - PLZ & Ort - Telefon **Paket:** - Gewicht (kg) - Maße (L×B×H in cm) - Wert (€, optional) - Inhalt (optional) **Optionen:** - Versandart (Standard/Express) - Versicherung (ja/nein) - Nachnahme (ja/nein, Betrag) Schritt 2: Preis berechnen - Click auf \"💰 Preis berechnen\" - System berechnet automatisch - Preis-Aufschlüsselung wird angezeigt Schritt 3: Sendung erstellen - Click auf \"✅ Sendung erstellen & bezahlen\" - Tracking-Nummer wird generiert - Weiterleitung zur Bezahlung Schritt 4: Bezahlen **PayPal-Button:** - Click auf \"Jetzt mit PayPal bezahlen\" - PayPal öffnet sich - Zahlung durchführen - Automatische Rückmeldung via IPN **Nach Zahlung:** - Status: \"Bezahlt\" - Sendung ist aktiv - Tracking verfügbar 📍 Tracking-System Öffentliches Tracking (ohne Login): 1. **tracking.php** aufrufen 2. **Tracking-Nummer eingeben:** z.B. KE-A1B2C3D4 3. **Sendungsstatus sehen:** - Aktuelle Position - Absender & Empfänger - Paket-Details - Vollständiger Verlauf Status-Historie: ✅ Zugestellt (25.01.2026 14:30 Uhr) 📍 Empfängeradresse Paket wurde zugestellt 🚛 Zur Zustellung (25.01.2026 08:00 Uhr) 📍 Depot München Fahrer ist unterwegs 🏢 Im Depot (24.01.2026 18:00 Uhr) 📍 Depot München Paket ist im Depot angekommen 🛣️ Unterwegs (24.01.2026 10:00 Uhr) 📍 Autobahn A8 Paket ist unterwegs 🚚 Abgeholt (24.01.2026 09:00 Uhr) 📍 Absenderadresse Paket wurde abgeholt ✅ Bezahlt (23.01.2026 16:30 Uhr) Zahlung via PayPal erhalten 📦 Erfasst (23.01.2026 16:25 Uhr) Sendung wurde erfasst ⚙️ Admin-Panel Login: URL: /admin-login.php Username: admin (bei Installation festgelegt) Password: (bei Installation festgelegt) Funktionen: **1. Dashboard:** - Statistiken (Sendungen, Offen, Unbezahlt, Umsatz) - Schnellzugriff **2. Sendungen verwalten:** **Filter:** - Alle - Offen (nicht zugestellt/problem) - Unbezahlt **Pro Sendung:** - Tracking-Nr - Kunde - Route (Von → Nach) - Status - Bezahlt (✅/❌) - Preis - Erstellt am **Status ändern:** - Click auf \"✏️ Status\" - Neuen Status wählen: - 📦 Erfasst - ✅ Bezahlt - 🚚 Abgeholt - 🛣️ Unterwegs - 🏢 Im Depot - 🚛 Zur Zustellung - ✅ Zugestellt - ⚠️ Problem - Standort angeben (z.B. \"Depot München\") - Bemerkung (optional) - Speichern **3. Preise anpassen:** Tabelle mit allen Preisen: - Typ (Gewicht/Größe/Entfernung) - Von/Bis-Bereich - Beschreibung - Preis (editierbar) - Status (Aktiv/Inaktiv) **Ändern:** - Preis direkt in Tabelle eingeben - 💾 Click zum Speichern - Sofort aktiv! 💳 PayPal-Integration Setup: **1. PayPal Business Account:** - Erstellen auf paypal.com - Email notieren **2. IPN aktivieren:** - PayPal Dashboard → Einstellungen → Website-Zahlungen - IPN-Benachrichtigungen → Ein - IPN-URL: `https://ihre-domain.de/paypal-ipn.php` **3. Portal konfigurieren:** - Bei Installation PayPal Email eingeben - ODER manuell in config.php ändern Ablauf: 1. **Kunde erstellt Sendung** 2. **Preis wird berechnet** 3. **Kunde click \"Mit PayPal bezahlen\"** 4. **PayPal öffnet sich** (mit vorausgefüllten Daten) 5. **Kunde bezahlt** 6. **PayPal sendet IPN an Server** 7. **paypal-ipn.php verarbeitet:** - Prüft Zahlung - Setzt `bezahlt = 1` - Ändert Status auf \"bezahlt\" - Fügt Historie hinzu 8. **Sendung ist aktiv** Sicherheit: - IPN-Verifikation mit PayPal-Server - Transaction-ID wird gespeichert - Doppel-Zahlungen verhindert 📁 Dateistruktur kurier-portal-v2/ │ ├── config.php Konfiguration (von install.php) ├── functions.php Hilfsfunktionen ├── install.php Installation ├── style.css Design (Lila/Pink Gradient) │ ├── index.php Startseite ├── login.php Login & Registrierung ├── logout.php Logout ├── dashboard.php Kunden-Dashboard ├── neue-sendung.php Sendung erstellen (HERZSTÜCK!) ├── bezahlen.php PayPal-Zahlung ├── paypal-ipn.php PayPal IPN Handler ├── tracking.php Öffentliches Tracking │ ├── admin-login.php Admin Login ├── admin-logout.php Admin Logout ├── admin.php Admin-Panel │ └── uploads/ Für Fotos (später) └── index.php Schutz 🎨 Design - **Farbschema:** Lila/Pink Gradient (wie DHL aber moderner) - **Responsive:** Mobile-optimiert - **Modern:** Cards, Badges, Timeline - **Icons:** Emojis für bessere UX 🔧 Konfiguration config.php: php define(\"DB_HOST\", \"localhost\"); define(\"DB_NAME\", \"kurier_db\"); define(\"DB_USER\", \"db_user\"); define(\"DB_PASS\", \"db_password\"); define(\"DB_PREFIX\", \"kurier_\"); define(\"SITE_NAME\", \"KurierExpress\"); define(\"TRACKING_PREFIX\", \"KE\"); define(\"PAYPAL_EMAIL\", \"pay@pal.de\"); define(\"PAYPAL_MODE\", \"live\"); **Änderbar:** - SITE_NAME: Portalnamen anpassen - TRACKING_PREFIX: z.B. \"DHL\", \"KX\", \"PKT\" - PAYPAL_EMAIL: Ihre PayPal-Email 🐛 Troubleshooting Problem: PayPal IPN funktioniert nicht **Lösung:** 1. IPN-URL in PayPal prüfen 2. cURL-Extension installiert? bash php -m | grep curl 3. Server erreichbar von außen? 4. HTTPS aktiviert? Problem: Preis wird nicht berechnet **Lösung:** 1. Alle Felder ausgefüllt? 2. Preise in DB vorhanden? (Install korrekt?) 3. Admin-Panel → Preise prüfen Problem: Tracking nicht gefunden **Lösung:** - Tracking-Nummer korrekt? (inkl. Präfix) - Sendung in DB vorhanden? - Groß-/Kleinschreibung egal Problem: Session-Fehler **Lösung:** - Cookies erlauben - Cache leeren - Inkognito-Modus testen 🔒 Sicherheit Implementiert: - ✅ **PDO Prepared Statements** (SQL Injection) - ✅ **htmlspecialchars()** (XSS) - ✅ **password_hash()** (Bcrypt) - ✅ **session_regenerate_id()** (Session Fixation) - ✅ **PayPal IPN Verification** - ✅ **HTTPS empfohlen** Empfehlungen: 1. **HTTPS verwenden** (Let's Encrypt kostenlos) 2. **Starke Passwörter** 3. **Regelmäßige Backups** 4. **PHP aktuell halten** 5. **PayPal IPN-Logs prüfen** 📊 Workflow-Beispiel Typischer Ablauf: **Tag 1 - 16:00 Uhr:** Kunde: 1. Registriert sich 2. Erstellt Sendung (München → Berlin, 5kg, Express) 3. Preis: 28,99€ 4. Bezahlt mit PayPal → Status: \"Bezahlt\" **Tag 2 - 09:00 Uhr:** Admin/Kurier: 1. Sieht neue Sendung im Admin-Panel 2. Holt Paket ab 3. Ändert Status auf \"Abgeholt\" 4. Standort: \"München Zentrum\" → Kunde sieht Update im Tracking **Tag 2 - 14:00 Uhr:** Admin/Kurier: 1. Status → \"Unterwegs\" 2. Standort: \"Autobahn A9\" **Tag 2 - 18:00 Uhr:** Admin/Kurier: 1. Status → \"Im Depot\" 2. Standort: \"Depot Berlin\" **Tag 3 - 08:00 Uhr:** Admin/Kurier: 1. Status → \"Zur Zustellung\" 2. Standort: \"Berlin Mitte\" **Tag 3 - 14:30 Uhr:** Admin/Kurier: 1. Paket zugestellt 2. Status → \"Zugestellt\" 3. Foto von Unterschrift (optional) → Kunde erhält Benachrichtigung 💡 Tipps Für Betreiber: 1. **Preise anpassen:** - Je nach Konkurrenz - Regionale Unterschiede - Spezial-Angebote 2. **Marketing:** - Social Media - Google Ads - Lokale Werbung 3. **Kundenbindung:** - Schnelle Zustellung - Gutes Tracking - Freundlicher Service Für Admins: 1. **Status regelmäßig aktualisieren** 2. **Standort immer angeben** 3. **Bei Problemen Kunde kontaktieren** 4. **Fotos bei Zustellung machen** Für Kunden: 1. **Maße genau angeben** (sonst Nachberechnung) 2. **Telefon für Rückfragen** 3. **Tracking-Nummer speichern** 🚀 Erweiterungen (Zukünftig) **Mögliche Features:** - [ ] PDF-Versandetikett generieren - [ ] QR-Code auf Etikett - [ ] SMS-Benachrichtigungen - [ ] Foto-Upload bei Zustellung - [ ] Route planen (Google Maps API) - [ ] Mehrere Kuriere verwalten - [ ] Kundenbewertungen - [ ] Rabatt-Codes - [ ] Bulk-Upload (CSV) - [ ] API für Shops 📞 Support **Bei Problemen:** 1. README durchlesen (diese Datei) 2. Troubleshooting checken 3. Datenbank prüfen 4. PayPal-IPN-Logs prüfen 🎯 Best Practices Preisgestaltung: - **Wettbewerbsfähig:** Mit DHL/Hermes vergleichen - **Transparent:** Keine versteckten Kosten - **Flexibel:** Admin kann anpassen Tracking: - **Aktuell halten:** Mindestens 2x täglich updaten - **Standort angeben:** Kunde weiß wo Paket ist - **Bemerkungen nutzen:** z.B. \"Empfänger nicht angetroffen\" Zahlung: - **Schnell:** Zahlung sofort nach IPN bestätigen - **Sicher:** PayPal-Verifizierung nutzen - **Transparent:** Kunde sieht Preis vor Zahlung 📄 Lizenz Proprietär - Alle Rechte vorbehalten 🎉 Viel Erfolg mit Ihrem Kurierportal! **Version:** 2.0 **Stand:** Januar 2026 **Sprache:** Deutsch 🇩🇪 **KOMPLETT FERTIG - PRODUKTIONSBEREIT!** 🚀 📝 Changelog Version 2.0 (Aktuell) **Features:** - ✅ Komplettes Versand-System - ✅ Gewicht, Maße, Wert-Eingabe - ✅ Automatische Preisberechnung - ✅ PayPal-Integration (IPN) - ✅ Live-Tracking - ✅ Admin-Panel - ✅ Status-Historie - ✅ Responsive Design **Technisch:** - ✅ PHP 8.0+ kompatibel - ✅ PDO Prepared Statements - ✅ Session-Sicherheit - ✅ PayPal IPN-Verifikation - ✅ Sauberer Code **ALLES FUNKTIONIERT!** 🎯
🖼️ Bildschutz - Wasserzeichen auf Bilder 📋 Überblick Professioneller Bildschutz-Service zum Hinzufügen von Wasserzeichen auf Bilder. **Features:** - 🖼️ **Alle Formate:** JPG, PNG, WEBP, GIF, BMP - 📝 **Text oder Logo:** Flexible Wasserzeichen-Typen - ⚡ **Batch-Processing:** Mehrere Bilder gleichzeitig - 🎨 **Anpassbar:** Position, Größe, Farbe, Transparenz - 📱 **Responsive:** Mobile-optimiert - 🚀 **Schnell:** Sofortige Verarbeitung ✨ Features im Detail Unterstützte Formate: | Format | Lesen | Schreiben | Transparenz | |--|-|--|-| | JPG | ✅ | ✅ | ❌ | | PNG | ✅ | ✅ | ✅ | | WEBP | ✅ | ✅ | ✅ | | GIF | ✅ | ✅ | ✅ | | BMP | ✅ | ✅ | ❌ | Wasserzeichen-Typen: **Text-Wasserzeichen:** - Eigener Text (z.B. \"© 2026 Ihr Name\") - Schriftgröße: 10-100px - Farbe: Frei wählbar - Transparenz: 0-100% **Logo-Wasserzeichen:** - Eigenes Logo hochladen - Größe: 50-500px - Position frei wählbar - Transparenz: 0-100% Positionen: - ✅ Unten Rechts (Default) - ✅ Unten Links - ✅ Oben Rechts - ✅ Oben Links - ✅ Mitte Ausgabeformate: - Original beibehalten - Konvertierung zu JPG - Konvertierung zu PNG - Konvertierung zu WEBP 💻 Technische Details Dateien: - **index.php** - Upload & Einstellungen - **process.php** - Verarbeitung (ALLE FORMATE!) - **style.css** - Cyan/Blue Gradient-Design - **protected_images/** - Output-Verzeichnis Logo: svg Cyan→Blue Gradient mit Bild-Icon und ©-Symbol - Skalierbar - Eingebettet PHP-Funktionen: php loadImage() // JPG, PNG, WEBP, GIF, BMP saveImage() // Alle Formate mit Qualität addTextWatermark() // Text mit TrueType addLogoWatermark() // Logo mit Transparenz calculatePosition() // 5 Positionen 🚀 Installation Schritt 1: Dateien hochladen bash Alle Dateien in Webverzeichnis hochladen Schritt 2: Verzeichnisse prüfen bash chmod 755 protected_images/ Schritt 3: PHP-Extensions prüfen bash php -m | grep -E \"gd|imagick\" **Benötigt:** - ✅ GD Library (für Bildverarbeitung) - ✅ PHP 8.0+ empfohlen Schritt 4: TrueType-Font (Optional) bash Für bessere Text-Qualität: Lade arial.ttf herunter und lege es im Root ab **Ohne TTF:** System-Font wird verwendet (funktioniert, aber kleiner) 📖 Benutzung Text-Wasserzeichen: 1. **Bilder hochladen** (Drag & Drop oder Klick) 2. **\"Text\" auswählen** 3. **Text eingeben** (z.B. \"© 2026 Mein Name\") 4. **Schriftgröße einstellen** (10-100px) 5. **Farbe wählen** (Farbwähler) 6. **Position wählen** (z.B. \"Unten Rechts\") 7. **Transparenz einstellen** (0-100%) 8. **\"Wasserzeichen hinzufügen\" klicken** 9. **Geschützte Bilder herunterladen** Logo-Wasserzeichen: 1. **Bilder hochladen** 2. **\"Logo\" auswählen** 3. **Logo hochladen** (PNG mit Transparenz empfohlen) 4. **Logo-Größe einstellen** (50-500px) 5. **Position wählen** 6. **Transparenz einstellen** 7. **\"Wasserzeichen hinzufügen\" klicken** 8. **Geschützte Bilder herunterladen** Batch-Processing: 1. Mehrere Bilder auswählen (Strg/Cmd + Klick) 2. Einstellungen vornehmen 3. Alle Bilder werden mit gleichen Einstellungen verarbeitet 4. Einzeln herunterladen 🎨 Design-Anpassung Farben ändern: **In style.css:** css :root { --primary: 06b6d4; /* Cyan */ --secondary: 3b82f6; /* Blue */ --gradient: linear-gradient(135deg, var(--primary), var(--secondary)); } Logo-Farben: **In index.php (SVG):** html <stop offset=\"0%\" style=\"stop-color:06b6d4\" /> <stop offset=\"100%\" style=\"stop-color:3b82f6\" /> 🐛 Troubleshooting Problem: \"Konnte Bild nicht laden\" **Lösung:** 1. **GD Library installiert?** bash apt install php-gd oder yum install php-gd 2. **PHP neu starten:** bash systemctl restart php-fpm 3. **Format unterstützt?** php <?php print_r(gd_info()); ?> Problem: WEBP nicht unterstützt **Lösung:** bash PHP mit WEBP-Support kompilieren oder apt install php-gd libwebp-dev Problem: Text zu klein **Lösung:** 1. **TTF-Font verwenden:** - arial.ttf herunterladen - In Root-Verzeichnis legen - Automatisch erkannt! 2. **Schriftgröße erhöhen** (im Frontend) Problem: Transparenz geht verloren **Lösung:** - ✅ PNG verwenden (behält Transparenz) - ✅ WEBP verwenden (behält Transparenz) - ❌ JPG verwendet (keine Transparenz möglich) Problem: Zu langsam bei vielen Bildern **Lösung:** 1. **PHP Memory erhöhen:** ini memory_limit = 512M 2. **Max Upload Size erhöhen:** ini upload_max_filesize = 50M post_max_size = 50M 3. **Bilder vorher verkleinern** 🔒 Sicherheit Implementiert: - ✅ **File-Type Validierung** - ✅ **Directory Protection** (.htaccess) - ✅ **XSS-Schutz** (htmlspecialchars) - ✅ **Upload-Limits** Empfehlungen: 1. **HTTPS verwenden** (Let's Encrypt) 2. **Upload-Limit setzen** (max 10MB pro Bild) 3. **Rate-Limiting** (max X Uploads/Stunde) 4. **Temp-Files löschen** (automatisch nach 24h) .htaccess für protected_images/: apache <Files *.php> deny from all </Files> Order Deny,Allow Deny from all Allow from all 📊 Performance Benchmarks (PHP 8.2, 4GB RAM): | Bildgröße | Format | Verarbeitung | |--|--|--| | 1 MB | JPG | ~0.3s | | 2 MB | PNG | ~0.5s | | 3 MB | WEBP | ~0.4s | | 5 MB | GIF | ~1.2s | **Batch (10 Bilder à 2MB):** ~5-8 Sekunden Optimierung: php // In process.php anpassen: imagejpeg($image, $path, 85); // Qualität: 95→85 (schneller) imagepng($image, $path, 6); // Kompression: 9→6 (schneller) 💡 Tipps & Tricks Beste Ergebnisse: 1. **PNG für Logos** (Transparenz!) 2. **Weiße Schrift mit 80% Opacity** (gut sichtbar) 3. **Logo-Größe ~10-15% der Bildgröße** 4. **Position \"Unten Rechts\"** (Standard) Logo vorbereiten: bash Empfohlene Logo-Eigenschaften: Format: PNG Größe: 500x500px (quadratisch) Hintergrund: Transparent Farbe: Weiß oder Hell Batch-Workflow: 1. Alle Bilder in Ordner sammeln 2. Alle hochladen 3. Einstellungen einmal vornehmen 4. Alle verarbeiten 5. ZIP-Download (TODO: Feature) 🚀 Erweiterungen (Zukünftig) **Mögliche Features:** - [ ] ZIP-Download (alle geschützten Bilder) - [ ] Vorschau vor Verarbeitung - [ ] Wasserzeichen-Templates speichern - [ ] Mehrere Wasserzeichen pro Bild - [ ] Gekachelte Wasserzeichen - [ ] Metadata entfernen (EXIF) - [ ] Automatische Größenanpassung - [ ] Cloud-Upload (Dropbox, Google Drive) - [ ] API für Entwickler 🎨 Logo als separate Datei **logo.svg erstellen:** svg <svg width=\"200\" height=\"200\" xmlns=\"http://www.w3.org/2000/svg\"> <defs> <linearGradient id=\"grad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"> <stop offset=\"0%\" style=\"stop-color:06b6d4\" /> <stop offset=\"100%\" style=\"stop-color:3b82f6\" /> </linearGradient> </defs> <rect x=\"40\" y=\"60\" width=\"120\" height=\"90\" rx=\"8\" fill=\"url(grad)\"/> <circle cx=\"70\" cy=\"95\" r=\"12\" fill=\"white\" opacity=\"0.8\"/> <path d=\"M 50 130 L 75 105 L 105 130 L 135 105 L 135 145 L 50 145 Z\" fill=\"white\" opacity=\"0.8\"/> <text x=\"100\" y=\"180\" font-family=\"Arial\" font-size=\"24\" fill=\"white\" text-anchor=\"middle\" font-weight=\"bold\">©</text> </svg> **Einbinden:** html <img src=\"logo.svg\" alt=\"Bildschutz\" width=\"60\" height=\"60\"> 📝 Beispiel-Workflows Fotograf: 1. Shooting-Fotos hochladen 2. Logo mit Firmenname hochladen 3. Position: Unten Rechts 4. Transparenz: 70% 5. Verarbeiten 6. An Kunden senden Designer: 1. Portfolio-Bilder schützen 2. Text: \"© 2026 Designer Name\" 3. Schriftgröße: 24px 4. Position: Unten Links 5. Transparenz: 60% 6. Auf Website hochladen E-Commerce: 1. Produktfotos hochladen 2. Text: \"Nur bei Shop.de\" 3. Position: Mitte 4. Transparenz: 40% (gut sichtbar) 5. In Shop einbinden 📞 Support **Bei Problemen:** 1. README durchlesen 2. Troubleshooting checken 3. GD Library prüfen 4. PHP Error Log checken 📄 Rechtliches Wichtig: - ✅ Nur eigene Bilder schützen - ✅ Oder mit Erlaubnis des Fotografen - ⚠️ Wasserzeichen sind **kein 100% Schutz** - ⚠️ Technisch versierte können sie entfernen Best Practice: 1. Wasserzeichen + niedrige Auflösung (Web) 2. Originale nur nach Kauf/Bezahlung 3. Wasserzeichen über wichtige Bildbereiche 4. Kombination: Text + Logo 🎯 Best Practices User Experience: 1. **Einfacher Upload** (Drag & Drop) 2. **Live-Vorschau** (TODO) 3. **Schnelle Verarbeitung** 4. **Klare Download-Buttons** Code Quality: 1. **Alle Formate unterstützt** 2. **Error-Handling** 3. **Memory-Limits beachten** 4. **Sauberer Code** 📈 Format-Support-Matrix | Format | PHP GD | ImageMagick | Empfohlen für | |--|--|-|| | JPG | ✅ | ✅ | Fotos | | PNG | ✅ | ✅ | Grafiken | | WEBP | ✅* | ✅ | Web | | GIF | ✅ | ✅ | Animationen** | | BMP | ✅ | ✅ | Legacy | \* Benötigt libwebp ** Nur erstes Frame wird verarbeitet 📝 Changelog Version 2.0 (Aktuell) **Features:** - ✅ Komplett neu in PHP 8.4 - ✅ Alle Formate: JPG, PNG, WEBP, GIF, BMP - ✅ Text & Logo-Wasserzeichen - ✅ Batch-Processing - ✅ Anpassbare Positionen - ✅ Transparenz-Kontrolle - ✅ Format-Konvertierung - ✅ Modernes Design (Cyan/Blue) - ✅ Mobile-optimiert **Technisch:** - ✅ GD Library - ✅ TrueType Font Support - ✅ Alpha-Channel Handling - ✅ Memory-effizient 🏆 Credits **Design inspiriert von:** - Watermarkly - uMark - iWatermark **Powered by:** - PHP GD Library - TrueType Fonts 📄 Lizenz Proprietär - Alle Rechte vorbehalten 🎉 Viel Erfolg mit Bildschutz! **Version:** 2.0 **Stand:** Januar 2026 **Sprache:** Deutsch 🇩🇪 **PRODUKTIONSBEREIT!** 🚀 🆘 Quick-Start bash 1. Dateien hochladen 2. Browser öffnen 3. Bild hochladen 4. Einstellungen vornehmen 5. Verarbeiten 6. Herunterladen! Für bessere Qualität: - arial.ttf herunterladen - Im Root ablegen - Fertig! **Text-Wasserzeichen:** Schnell & einfach **Logo-Wasserzeichen:** Professionell **Batch-Processing:** Effizient! 💪
📱 QR Portal - Professionelle QR-Codes 📋 Überblick Komplettes QR-Code-Portal mit User-Management, vielfältigen QR-Typen, individueller Gestaltung und EU-Zahlungs-QR-Codes. **Features:** - 👤 **User-System:** Registrierung & Login - 📱 **12 QR-Typen:** URL, Text, Zahlungen, Produkte, Downloads, Bücher, WiFi, vCard, etc. - 💶 **EU-Zahlungen:** SEPA QR (IBAN) & PayPal - 🎨 **Individuell:** Eigene Farben & Logo - 💾 **Speichern:** Alle QR-Codes in Datenbank - 📊 **Statistiken:** Scans tracken - ⬇️ **Download:** PNG-Format ✨ QR-Code Typen 1. **URL / Link** 🌐 - Webseiten - Social Media Profile - Online-Shops 2. **Text / Info** 📄 - Produktinfos - Anleitungen - Beschreibungen 3. **SEPA Zahlung** 💶 - **EU-konform!** - IBAN eingeben - Empfängername - Betrag (optional) - Verwendungszweck - **Funktioniert mit jeder Banking-App!** 4. **PayPal Zahlung** 💳 - PayPal Username/Email - Betrag (optional) - Erstellt paypal.me Link 5. **Produkt** 📦 - Produktseiten - Zusatzinfos - Support-Links 6. **Download** ⬇️ - PDFs - Software - Dateien 7. **Buch** 📚 - Zusatzinfos - Leseproben - Autor-Website 8. **E-Mail** 📧 - Mailto-Link - Öffnet E-Mail-App 9. **Telefon** 📱 - Tel-Link - Direktanruf 10. **SMS** 💬 - SMS-Link - Vorbefüllte Nummer 11. **WiFi** 📶 - WLAN-Zugang - SSID + Passwort - Verschlüsselung (WPA/WEP) - **Ein Scan = Verbunden!** 12. **vCard (Visitenkarte)** 👤 - Name - Telefon - E-Mail - Direkt in Kontakte speichern 💻 Technische Details Dateien: - **config.php** - Konfiguration (von install.php) - **functions.php** - Hilfsfunktionen - **install.php** - Installation - **style.css** - Design (Lila/Pink Gradient) - **login.php** - Login & Registrierung - **logout.php** - Logout - **index.php** - Startseite - **create.php** - QR-Code Generator (HERZSTÜCK!) - **dashboard.php** - User-Dashboard - **qr_codes/** - Generierte QR-Codes - **logos/** - Hochgeladene Logos Datenbank (2 Tabellen): **qr_users:** - id, username, email, password_hash - created_at **qr_codes:** - id, user_id, title, type - data (QR-Inhalt) - qr_color, qr_bgcolor, qr_size - logo_filename, filename - short_code (für Tracking) - scan_count - created_at, updated_at 🚀 Installation Schritt 1: Dateien hochladen bash Alle Dateien auf Webserver hochladen Schritt 2: Verzeichnisse prüfen bash chmod 755 qr_codes/ chmod 755 logos/ Schritt 3: install.php aufrufen https://deine-domain.de/install.php Schritt 4: Daten eingeben - DB Host: `localhost` - DB Name: `qr_portal` - DB User: `db_user` - DB Password: `db_password` - Portal-Name: `QR Portal` (oder eigener Name) Schritt 5: Installation abschließen - 2 Tabellen werden erstellt - install.php löscht sich selbst - **Fertig!** 📖 Benutzung Als User: 1. **Registrieren** auf der Startseite 2. **Login** mit E-Mail & Passwort 3. **\"+ QR erstellen\" klicken** 4. **Typ auswählen** (z.B. \"SEPA Zahlung\") 5. **Daten eingeben** (IBAN, Betrag, etc.) 6. **Design anpassen:** - Farbe wählen (Standard: Schwarz) - Größe wählen (300-1000px) - Logo hochladen (optional) 7. **\"QR-Code generieren\" klicken** 8. **Im Dashboard:** - Alle QR-Codes sehen - Downloaden (PNG) - Statistiken (Scans) - Löschen 💶 SEPA QR-Code (EPC) Was ist das? **SEPA QR-Codes** (auch \"EPC QR\" genannt) sind der **EU-Standard** für Überweisungen per QR-Code. Wie funktioniert's? 1. **QR-Code erstellen** mit: - Empfängername - IBAN - Betrag (optional) - Verwendungszweck (optional) 2. **Kunde scannt** mit Banking-App 3. **Überweisung ist vorausgefüllt!** - Name ✅ - IBAN ✅ - Betrag ✅ - Verwendungszweck ✅ 4. **Kunde muss nur noch bestätigen** Vorteile: - ✅ **Keine Tippfehler** bei IBAN - ✅ **Schneller** als manuell - ✅ **Weniger Fehler** - ✅ **Professionell** Wo nutzen? - 💰 **Rechnungen** (PDF mit QR) - 🛒 **Geschäfte** (an der Kasse) - 📄 **Mahnungen** - 🎫 **Tickets & Events** - 🏪 **Marktstände** Welche Apps unterstützen das? **Alle deutschen Banking-Apps:** - Sparkasse ✅ - Volksbanken ✅ - Deutsche Bank ✅ - Commerzbank ✅ - N26 ✅ - ING ✅ - etc. 🎨 Design-Anpassung Farben: **Standard:** - QR-Code: Schwarz (000000) - Hintergrund: Weiß (ffffff) **Anpassbar:** - Jede beliebige Farbe! - Empfehlung: Dunkle Farben für QR, heller Hintergrund - Kontrast wichtig für Scanbarkeit! **Beispiele:** - Blau: 0066cc - Rot: cc0000 - Grün: 00cc00 - Lila: 6600cc Logo: **Empfohlene Eigenschaften:** - Format: PNG (mit Transparenz) - Größe: Quadratisch (z.B. 500x500px) - Farbe: Einfarbig oder wenig Details - Hintergrund: Transparent - Platzierung: Automatisch mittig (20% der QR-Größe) **Hinweis:** Logo wird mit weißem Rand platziert für bessere Scanbarkeit. Größen: - **300x300:** Klein (für Print) - **400x400:** Standard - **500x500:** Groß - **1000x1000:** Sehr groß (für Poster) 🔧 Wie QR-Generierung funktioniert Technischer Ablauf: 1. **Daten sammeln** (aus Formular) 2. **Format erstellen:** - URL: `https://example.com` - SEPA: EPC-Format (spezielle Struktur) - WiFi: `WIFI:T:WPA;S:Name;P:Pass;;` - vCard: `BEGIN:VCARD...END:VCARD` 3. **QR mit Google Charts API generieren** 4. **Farben anpassen** (Pixel-Manipulation) 5. **Logo hinzufügen** (falls hochgeladen) 6. **Als PNG speichern** 7. **In Datenbank eintragen** Google Charts API: https://chart.googleapis.com/chart?cht=qr&chs=400x400&chl=DATEN **Kostenlos & Zuverlässig!** 💡 Anwendungsfälle E-Commerce: Produkt: Stuhl \"Nordic Style\" QR-Typ: Produkt URL: https://shop.de/stuhl-nordic-123 → Kunde scannt, kommt direkt zur Produktseite Restaurant: Speisekarte-Download QR-Typ: Download URL: https://restaurant.de/speisekarte.pdf → Kunde scannt, PDF öffnet sich Autor / Verlag: Buch: \"Mein Roman\" QR-Typ: Buch URL: https://autor.de/buch-extras → Leser scannt, bekommt Zusatzinfos Handwerker / Dienstleister: Rechnung QR-Typ: SEPA Zahlung IBAN: DE89 3704 0044 0532 0130 00 Betrag: 450,00 EUR Verwendungszweck: Rechnung 2024-123 → Kunde scannt, zahlt in 10 Sekunden Event / Konzert: WiFi-Zugang für Gäste QR-Typ: WiFi SSID: EventWLAN Passwort: Konzert2024 → Gast scannt, ist verbunden 🐛 Troubleshooting Problem: QR-Code wird nicht gescannt **Lösung:** - Kontrast erhöhen (dunkler QR, heller Hintergrund) - Größe erhöhen (mindestens 300px) - Logo kleiner machen oder entfernen - Auf glattem Untergrund drucken Problem: SEPA QR funktioniert nicht **Lösung:** - IBAN korrekt? (ohne Leerzeichen speichern) - Betrag im richtigen Format? (mit Punkt, nicht Komma) - Banking-App aktuell? Problem: Logo zu groß **Lösung:** - Wird automatisch auf 20% skaliert - Wenn QR nicht scannbar: Logo entfernen oder kleiner machen Problem: Kann kein Logo hochladen **Lösung:** - Nur PNG oder JPG - Max 2MB - Verzeichnis `logos/` beschreibbar? (`chmod 755`) 📊 Statistiken & Tracking Scan-Tracking: **Aktuell:** Einfacher Zähler in DB **Zukünftig möglich:** - Redirect-URL für Tracking - Scan-Zeitpunkt - Gerät-Info - Standort (mit Erlaubnis) Implementierung (optional): php // scan.php?code=abc123 $stmt = db()->prepare(\"UPDATE qr_codes SET scan_count = scan_count + 1 WHERE short_code = ?\"); $stmt->execute([$_GET['code']]); redirect('actual-url'); 🔒 Sicherheit Implementiert: - ✅ **Password Hashing** (PHP password_hash) - ✅ **SQL Injection Schutz** (PDO Prepared Statements) - ✅ **XSS Schutz** (htmlspecialchars) - ✅ **Session Security** (regenerate_id) - ✅ **Foreign Keys** (CASCADE delete) Empfehlungen: 1. **HTTPS verwenden** (Let's Encrypt kostenlos) 2. **Starke Passwörter** erzwingen 3. **Regelmäßige Backups** 4. **Upload-Limits** (Datei-Größe) 🚀 Erweiterungen (Zukünftig) **Mögliche Features:** - [ ] Scan-Tracking (Zeitpunkt, Gerät, Standort) - [ ] QR-Templates (vordefinierte Designs) - [ ] Batch-Generierung (CSV-Import) - [ ] API für Entwickler - [ ] QR-Code bearbeiten - [ ] Ablaufdatum für QR-Codes - [ ] Analytics-Dashboard - [ ] Team-Accounts (mehrere User) - [ ] White-Label (eigenes Branding) 📝 SEPA EPC QR-Code Format Technische Details: Zeile 1: BCD (Service Tag) Zeile 2: 002 (Version) Zeile 3: 1 (Character Set: UTF-8) Zeile 4: SCT (Identification: SEPA Credit Transfer) Zeile 5: [leer] (BIC - optional) Zeile 6: Max Mustermann (Name) Zeile 7: DE89370400440532013000 (IBAN) Zeile 8: EUR450.00 (Amount) Zeile 9: [leer] (Purpose - optional) Zeile 10: [leer] (Structured Reference - optional) Zeile 11: Rechnung 123 (Unstructured Remittance) Zeile 12: [leer] (Beneficiary to Originator - optional) **Wichtig:** - Jede Zeile mit ` ` getrennt - Betrag mit Punkt, nicht Komma - IBAN ohne Leerzeichen 🎯 Best Practices QR-Code Design: 1. **Hoher Kontrast:** Schwarz auf Weiß ist am besten 2. **Nicht zu klein:** Mindestens 300x300px 3. **Sauber drucken:** Keine Verzerrung 4. **Logo optional:** Nur wenn QR noch scannbar SEPA QR: 1. **Betrag angeben:** Kunde muss nichts tippen 2. **Verwendungszweck:** Eindeutige Referenz (Rechnung 123) 3. **Testen:** Vor Druck mit eigener Banking-App testen Allgemein: 1. **Titel vergeben:** Für bessere Organisation 2. **Regelmäßig prüfen:** QR-Codes auf Funktion testen 3. **Statistiken nutzen:** Scan-Zahlen auswerten 📄 Rechtliches DSGVO: **Gespeicherte Daten:** - Username, E-Mail, Passwort (gehasht) - QR-Code Daten (URLs, IBAN, etc.) - Scan-Statistiken **Rechte:** - Account löschen (TODO: implementieren) - Daten exportieren (TODO: implementieren) SEPA QR: - **Kein Payment-Provider:** Portal generiert nur QR-Code - **Keine Zahlung:** Überweisung erfolgt über Bank - **Keine Haftung:** User verantwortlich für korrekte IBAN 📞 Support **Bei Problemen:** 1. README durchlesen 2. Troubleshooting checken 3. Browser-Konsole prüfen (F12) 4. PHP Error-Log checken 📝 Changelog Version 1.0 (Aktuell) **Features:** - ✅ User-System (Login, Register) - ✅ 12 QR-Typen - ✅ SEPA EPC QR-Codes (EU-Standard!) - ✅ PayPal QR-Codes - ✅ Individuelle Farben - ✅ Logo-Upload - ✅ Dashboard mit Statistiken - ✅ Download als PNG - ✅ Datenbank-Speicherung **Technisch:** - ✅ PHP 8.0+ kompatibel - ✅ Moderne UI (Gradient-Design) - ✅ Responsive (Mobile) - ✅ Google Charts API - ✅ GD Library (Bildbearbeitung) 🎉 Viel Erfolg mit deinem QR Portal! **Version:** 1.0 **Stand:** Januar 2026 **Sprache:** Deutsch 🇩🇪 **PRODUKTIONSBEREIT!** 🚀 🆘 Quick-Start bash 1. Dateien hochladen 2. install.php aufrufen 3. DB-Daten eingeben 4. Installieren 5. Registrieren 6. QR-Code erstellen! SEPA QR in 60 Sekunden: 1. Login 2. \"+ QR erstellen\" 3. Typ: \"SEPA Zahlung\" 4. IBAN eingeben 5. Betrag: 100,00 EUR 6. Generieren 7. Download 8. Ausdrucken auf Rechnung 9. Kunde scannt & zahlt! **12 QR-TYPEN - SEPA ZAHLUNG - LOGO - FARBEN - PROFESSIONELL!** 💪
Das Filehoster-Prinzip ist eine Online-Dienstleistung, bei der Nutzer Dateien auf einem zentralen Server des Anbieters hochladen und über einen individuellen Link oder ähnliches Verfahren mit anderen teilen oder auch für ausschließlich private Nutzung nutzen können. Mit diesem Ajax File Hoster können Sie sich ein zweites Standbein aufbauen. In der Version 1 gibt es bereits viele nützliche Funktionen die ausgebaut und getestet sind bis php 8.4. Zum betreiben sollten Sie über ausreichenden Speicherplatz verfügen. Desweiteren sollte Ihr Server über alle gängigen Uploadfunktionen, Web oder Server Mailfunktionen verfügen. Die zusätzliche Shopfunktion die User nutzen können, beinhaltet die Zahlung des Produktes direkt an den Shop Premium Nutzer, dies sollte beim Datenschutz und den AGB berücksichtigt werden um Rechtssicherheit zu haben. Sowohl Premium und Shop Premium Buchung sowie auch der Verkauf der Shop User, verfügt jeweils über eine eigene Paypal IPN Funktion. Die entsprechenden Dateien werden in der Installationsbeschreibung genau gelistet. Shop User können Ihre Produkte auch selbst löschen Funktionen im Überblick User-Funktionen: Registrierung mit Email Adressen Bestätigung 2 Faktor Identifikation beim Login durch Mail an User der einen 6 stelligen Code eingeben muß um das Login zu vollenden es gibt 4 Premiumfunktionen, Standart User bekommen bei Registrierung automatisch 1 GB Speicherplatz zugewiesen (kostenlose Mitgliedschaft), Premium User Stufe 1/2 kann höheren Speicher kaufen jenach Preis und Speicherplatz den der Admin vorgibt und es gibt ein Shop Premium ebenfalls kostenpflichtig alles wird automatisch über Paypal abgewickelt, wobei Shop Besitzer über ein Paypal Geschäftskonto verfügen müssen. Standard User 1 GB Speicher, Single Upload für Dokumente (pdf, word usw.), Archive upload (zip und rar), Upload für Images, Ansicht aller eigenen Uploads getrennt in Dokumente, Archive und Images, dort besteht die Möglichkeit seinen uploads noch Namen zugeben, Löschantrag stellen (geht an den Admin der dann den Auftrag ausführt). Standard User können unabhängig vom Premium Status den Shop Status erwerben und digitale Produkte verkaufen. Standard User Bereich enthält Werbung Premium User 1 kann durch upgrade erworben werden was (monatliche Kosten die der Admin bestimmt sowie Speicherplatz) dafür bekommt der Premium User Zugang zum Multi Upload (auch als Einzel upload nutzbar), Support Ticket Modul und Partner Link Modul und Nutzen natürlich auch alle anderen Möglichkeiten vom Standard User und auch die Möglichkeit einen Shop zu buchen. User kann seinen upload ein Passwort zuordnen und auch wählen ob es öffentlich gedownloaded werden darf Premium User 2 hat alle Funktionen von Standard und Premium 1 plus höheren Speicher und Zugang zum Banner Modul wo dieser Bannerwerbung schalten kann, die bei Standard Usern eingeblendet werden. Und natürlich kann Premium 2 User auch die Shopfunktion buchen Besucher können für öffentliche Downloads Kommentare abgeben und bewerten, die Produkte der User direkt per Paypal kaufen und anschließend downloaden ohne Registrierung Zudem werden dem Besucher durch AGB, Datenschutz, Statistiken und Impressum ausreichende Informationen geboten. Auch die Blogfunktion kann ein reichhaltiges Angebot an Informationen durch den Betreiber verfügen. Gespeicherte Informationen (activitie logs) werden alle 180 Tage gelöscht (kann vom Admin aber auch verkürzt werden. (es wird nur die IP Adresse des Besuchers, Nutzers gespeichert) Alle User können Ihren eigenen Fortschritt sehen wieviel Speicherplatz bereits verbraucht ist Adminbereich-Funktionen Eigenes Login System (2 Faktor Identifikation kann nachgerüstet werden auf Wunsch) Einstellungen vornehmen wie Preise für upgrade Premium 1 und 2 mit Speicherplatz Zuweisung, Shop Preis kann festgelegt werden, Logo hochladen, Meta Informationen eintragen HomePage Url festlegen, eigene Paypal Email eintragen, Gesamtspeicher festlegen für seinen Server Passwort ändern Inder Dashboard Übersicht den Userspeicher aktualisieren, Jahresbereinigung der Standard User und Activity Logs auch einsehen, bereinigen wobei bei allen 3 Dateien die Möglichkeit besteht diese auch per Cronjob auszuführen, Dashboard zeigt auch Statistiken an Kann seine Blogfunktion nutzen um User, Besucher über Neuigkeiten zu informieren User verwalten Dokumente, Bilder Archive verwalten und komplett zu löschen Shop Produkte freischalten, sperren oder komplett löschen Löschanfragen Archive, Dokumente und Images mit einem klick komplett löschbar Support Tickets falls gewählt öffentlich freizuschalten und beantworten aus dem Adminbereich heraus Kommentare löschen Seiten wie Impressum, AGB und Datenschutz bearbeiten und verwalten Partner Links freigeben, sperren, löschen Banner anlegen, Banner von Premium User löschen Installationsroutine und Anleitung Project Name : Ajax File Hoster V1 Script Language Used : bis PHP8.4 getestet Database : MySQL User Interface Design : HTML, AJAX, JQUERY, JAVASCRIPT Web Browser : Mozilla, Google Chrome, IE8, OPERA Software : XAMPP / Wamp / Mamp/ Lamp (anyone)
Ihr vertrauenswürdiger MP3-Download-Shop - Hochwertige Musik sofort verfügbar. Entdecken Sie unseren MP3-Download-Shop! Wir bieten eine riesige Auswahl an hochwertiger Musik. Sofortiger Download, sicherer Einkauf. Ihre Musik, nur einen Klick entfernt. So könnte Ihre Beschreibung Ihres Shops aussehen. Verdienen Sie zum einen durch Ihr eigenes Angebot an Musik, durch registrierte User die einen eigenen Shop buchen können gegen Gebühr. Als Betreiber können Sie auch kostenlose Musikdownloads zur Verfügung stellen und registrierten Usern zum Download anbieten. Als Anbieter muss jeder die Urheberrechte bestätigen. Funktionen im Überblick User-Funktionen: Registrierung mit Email Adressen Bestätigung 2 Faktor Identifikation beim Login durch Mail an User der einen 6 stelligen Code eingeben muß um das Login zu vollenden es gibt ein Shop Premium kostenpflichtig alles wird automatisch über Paypal abgewickelt, wobei Shop Besitzer über ein Paypal Geschäftskonto verfügen müssen. Nach Zahlung wird der zukünftige Shop User auf ein Formular weitergeleitet und muss dort dann seine Daten angeben wie Zb. Paypal Email, Name etc. Besucher können der User direkt per Paypal kaufen und anschließend downloaden auch ohne Registrierung Zudem werden dem Besucher durch AGB, Datenschutz, Statistiken und Impressum ausreichende Informationen geboten. Gespeicherte Informationen (activitie logs) werden alle 180 Tage gelöscht (kann vom Admin aber auch verkürzt werden. (es wird nur die IP Adresse des Besuchers, Nutzers gespeichert) Jeder Besucher kann eine Höhr Probe von 60 Sekunden anhören vor seinem Kauf Besucher haben eine Suchfunktion die Titel und Beschreibung nach Stichworten durchsucht Adminbereich-Funktionen Eigenes Login System (2 Faktor Identifikation kann nachgerüstet werden auf Wunsch) Einstellungen vornehmen wie Preis für Shop kann festgelegt werden, Logo hochladen, Meta Informationen eintragen HomePage Url festlegen, eigene Paypal Email eintragen, Gesamtspeicher festlegen für seinen Server Passwort ändern In der Dashboard Übersicht den Activity Logs auch einsehen, bereinigen wobei die Möglichkeit besteht diese auch per Cronjob auszuführen, Dashboard zeigt auch Statistiken an Kann seine Startseite anlegen und bearbeiten nutzen um User, Besucher über Neuigkeiten zu informieren User verwalten Shop Produkte freischalten, sperren oder komplett löschen Löschanfragen Archive, Dokumente und Images mit einem klick komplett löschbar Seiten wie Impressum, AGB und Datenschutz bearbeiten und verwalten Banner anlegen, Banner löschen Installationsroutine und Anleitung Project Name : MP3 Download Shop Language Used : bis PHP8.4 getestet Database : MySQL User Interface Design : HTML, AJAX, JQUERY, JAVASCRIPT Web Browser : Mozilla, Google Chrome, IE8, OPERA Software : XAMPP / Wamp / Mamp/ Lamp (anyone)
# 🔐 PasswortBox v1.0 ### Sicherer Passwort-Manager mit AES-256 Client-seitiger Verschlüsselung PasswortBox ist ein selbst gehosteter Passwort-Manager mit Zero-Knowledge-Architektur. Alle Passwörter werden **ausschließlich im Browser** verschlüsselt – der Server sieht niemals Ihre echten Daten. Einmalige Zahlung, kein Abo, läuft auf Ihrem eigenen Server. --- ## ✨ Features | Feature | Beschreibung | |---|---| | 🔒 **AES-256-GCM** | Militärgrade-Verschlüsselung direkt im Browser | | 🧠 **Zero-Knowledge** | Server speichert nur Ciphertext – niemals Klartext | | 🔑 **Mastercode** | 64-stelliger Schlüssel, nur du kennst ihn | | 📋 **Unbegrenzte Einträge** | Bezeichnung, Username, Passwort, Notiz – alles verschlüsselt | | 🔍 **Client-seitige Suche** | Suche läuft komplett im Browser, ohne Server-Anfrage | | ⭐ **Favoriten & Kategorien** | Einträge organisieren und filtern | | 🔧 **Passwort-Generator** | Sicher, zufällig, 8–64 Zeichen konfigurierbar | | 📊 **Passwortstärke** | Echtzeit-Anzeige beim Eingeben | | 📥 **Backup-Export** | Verschlüsselter JSON-Export aller Einträge | | 💳 **PayPal-Zahlung** | Einmalig 24,99 € – keine Folgekosten | | 👤 **Admin-Bereich** | Nutzer verwalten, Zahlungen einsehen | --- ## 🛡 Sicherheitsarchitektur ``` Mastercode (64 Zeichen) ↓ PBKDF2 (100.000 Iterationen, SHA-256) AES-256-GCM Schlüssel ↓ Verschlüsselung im Browser (Web Crypto API) Ciphertext + IV → Server/Datenbank ``` **Was der Server NICHT sieht:** - Mastercode (wird niemals übertragen) - Entschlüsselte Passwörter, Benutzernamen, Notizen - Den AES-Schlüssel **Was der Server speichert:** - Ciphertext (unlesbarer Datenmüll ohne Mastercode) - IV (Initialisierungsvektor – nicht geheim, für Entschlüsselung nötig) - Mastercode-Hash (SHA-256, nur zur Validierung beim Entsperren) --- ## 🚀 Installation ### 1. Voraussetzungen | Anforderung | Details | |---|---| | PHP | 8.0 oder höher | | PDO SQLite | Pflicht | | SMTP-Zugang | Für E-Mail-Verifizierung | | HTTPS | **Zwingend erforderlich** (Web Crypto API braucht HTTPS) | | Schreibrechte | Datenbankordner muss schreibbar sein | ### 2. Dateien hochladen ``` https://ihre-domain.de/passwortbox/ ``` ### 3. config.php anpassen ```php // Datenbank define('DB_PATH', __DIR__ . '/storage/passwortbox.db'); // PayPal define('PAYPAL_EMAIL', 'ihre@email.de'); define('PAYPAL_SANDBOX', true); // false für Live-Betrieb define('PRICE', 24.99); // SMTP (für Verifizierungs-E-Mails) define('SMTP_HOST', 'mail.ihre-domain.de'); define('SMTP_PORT', 587); define('SMTP_USER', 'ihre@email.de'); define('SMTP_PASS', 'IhrPasswort'); define('SMTP_FROM', 'ihre@email.de'); define('SMTP_NAME', 'PasswortBox'); // Admin define('ADMIN_EMAIL', 'admin@ihre-domain.de'); // Basis-URL define('BASE_URL', 'https://ihre-domain.de/passwortbox'); ``` ### 4. Datenbank installieren ``` https://ihre-domain.de/passwortbox/install.php ``` Erstellt alle Tabellen und den Admin-Account. **Danach `install.php` löschen!** ### 5. Admin-Passwort ändern ``` Login: E-Mail aus ADMIN_EMAIL in config.php Passwort: admin123 ``` **Sofort nach der Installation ändern!** ### 6. PayPal konfigurieren Im PayPal-Konto unter **Kontoeinstellungen → Sofortige Zahlungsbenachrichtigung (IPN)**: ``` IPN-URL: https://ihre-domain.de/passwortbox/paypal-ipn.php ``` Zum Testen: `PAYPAL_SANDBOX` auf `true` lassen und PayPal Sandbox nutzen. Für Live-Betrieb: `PAYPAL_SANDBOX` auf `false` setzen. --- ## 📁 Dateistruktur ``` passwortbox/ ├── config.php ← Konfiguration (DB, PayPal, SMTP) ├── functions.php ← Hilfsfunktionen ├── install.php ← Einmalige Installation (danach löschen!) │ ├── register.php ← Registrierung (2 Schritte inkl. Mastercode) ├── login.php ← Login ├── logout.php ← Abmelden ├── verify.php ← E-Mail-Verifizierung │ ├── dashboard.php ← Passwort-Tresor (Hauptseite) ├── eintrag-neu.php ← Neuen Eintrag erstellen / bearbeiten ├── eintrag-save.php ← Eintrag speichern (AJAX) ├── eintrag-delete.php ← Eintrag löschen (AJAX) ├── export.php ← Verschlüsselter Backup-Export │ ├── kaufen.php ← Kaufseite mit PayPal-Button ├── paypal-ipn.php ← PayPal IPN Handler ├── zahlung-erfolg.php ← Erfolgsseite nach Zahlung │ ├── konto.php ← Kontoeinstellungen & Aktivitätslog │ ├── admin/ │ ├── index.php ← Admin-Dashboard (Nutzer, Umsatz, Stats) │ └── user-edit.php ← Nutzer bearbeiten │ ├── includes/ │ ├── header.php ← Design & Navigation │ └── footer.php ← Footer │ └── storage/ └── passwortbox.db ← SQLite Datenbank (auto-erstellt) ``` --- ## 🗄 Datenbank-Schema ```sql -- Benutzer users: id, email, username, password, mastercode_hash, role, status, paid, paid_at, paypal_txn, verify_token, reset_token, reset_expires, created_at, last_login -- Verschlüsselte Einträge entries: id, user_id, label_enc, username_enc, password_enc, note_enc, ← alles AES-256 iv, category, is_fav, created_at, updated_at -- Zahlungen payments: id, user_id, txn_id, amount, status, paypal_data, created_at -- Aktivitätslog logs: id, user_id, action, detail, ip, created_at ``` --- ## 🔑 Der Mastercode – das Wichtigste Der Mastercode ist ein **64-stelliger zufälliger Schlüssel** der beim Registrieren einmalig generiert und angezeigt wird. **Eigenschaften:** - Wird **niemals** auf dem Server gespeichert (nur ein Hash zur Validierung) - Ohne Mastercode sind alle gespeicherten Daten **nicht wiederherstellbar** - Wird nur im `sessionStorage` des Browsers gehalten (nur aktuelle Session) - Beim Schließen des Browsers muss er beim nächsten Besuch neu eingegeben werden **Empfohlene Aufbewahrung (den Nutzern mitteilen):** - 🖨 Ausdrucken und sicher aufbewahren - 💾 Auf USB-Stick speichern (verschlüsselt) - 📓 In ein physisches Notizbuch schreiben - 🔒 In einem zweiten Passwort-Manager speichern **⚠️ Verlust des Mastercodes = alle Passwörter unwiederbringlich verloren.** Es gibt keine Passwort-Reset-Funktion für den Mastercode – das ist by Design so. --- ## 💳 Zahlungsablauf ``` 1. Nutzer registriert sich (kostenlos) 2. Nutzer sieht Kaufseite (kaufen.php) 3. Nutzer zahlt 24,99 € via PayPal 4. PayPal sendet IPN an paypal-ipn.php 5. IPN wird verifiziert → Nutzer wird freigeschaltet (paid=1) 6. Bestätigungs-E-Mail wird gesendet 7. Nutzer hat Zugriff auf den vollen Tresor ``` **Manuell freischalten** (Admin): ``` Admin → Nutzerverwaltung → Nutzer bearbeiten → Bezahlstatus: Bezahlt ``` --- ## 👤 Admin-Bereich ``` https://ihre-domain.de/passwortbox/admin/ Login: ADMIN_EMAIL aus config.php ``` **Dashboard zeigt:** - Nutzer gesamt / bezahlt / aktiv heute - Anzahl verschlüsselter Einträge - Gesamtumsatz - Letzte Registrierungen und Zahlungen **Nutzerverwaltung:** - Status ändern: aktiv / ausstehend / gesperrt - Bezahlstatus manuell setzen - Anzahl der Einträge pro Nutzer einsehen --- ## 🔧 Konfigurationsreferenz ```php // Datenbank define('DB_PATH', __DIR__ . '/storage/passwortbox.db'); // PayPal define('PAYPAL_EMAIL', 'shop@ihre-domain.de'); define('PAYPAL_SANDBOX', false); // true = Testmodus define('PRICE', 24.99); // Preis in Euro // SMTP define('SMTP_HOST', 'mail.ihre-domain.de'); define('SMTP_PORT', 587); // 587 (STARTTLS) oder 465 (SSL) define('SMTP_USER', 'ihre@email.de'); define('SMTP_PASS', 'passwort'); define('SMTP_FROM', 'ihre@email.de'); define('SMTP_NAME', 'PasswortBox'); // URLs define('BASE_URL', 'https://ihre-domain.de/passwortbox'); define('ADMIN_EMAIL', 'admin@ihre-domain.de'); ``` --- ## 🔒 Sicherheitshinweise - **HTTPS ist Pflicht** – die Web Crypto API funktioniert nur über HTTPS - `config.php` per `.htaccess` schützen oder außerhalb des Webroots ablegen - `storage/` Ordner per `.htaccess` vor Direktzugriff schützen - `install.php` nach Installation sofort löschen - Admin-Passwort `admin123` sofort nach Installation ändern - PayPal IPN immer verifizieren (ist bereits implementiert) - Regelmäßige Backups der `passwortbox.db` empfohlen **.htaccess Empfehlung:** ```apache <Files \"config.php\"> Order allow,deny Deny from all </Files> ``` --- ## ❓ Häufige Fragen **Kann ich meinen Mastercode zurücksetzen?** Nein – das ist technisch nicht möglich ohne alle Daten zu verlieren. Der Mastercode ist der einzige Schlüssel zu deinen Daten. **Was passiert wenn ich den Browser schließe?** Der Mastercode wird aus dem sessionStorage gelöscht. Beim nächsten Login muss er erneut eingegeben werden. Die verschlüsselten Daten bleiben erhalten. **Kann der Server-Admin meine Passwörter lesen?** Nein. Der Server speichert nur AES-256-verschlüsselte Daten. Ohne den Mastercode sind diese Daten wertlos. **Funktioniert PasswortBox ohne HTTPS?** Nein. Die Web Crypto API (für AES-256) ist aus Sicherheitsgründen nur über HTTPS verfügbar. Lokale Entwicklung auf `localhost` funktioniert. **Wie exportiere ich meine Daten?** Unter **Konto → Backup herunterladen** – die exportierte JSON-Datei ist ebenfalls AES-256-verschlüsselt mit deinem Mastercode. **Kann ich PasswortBox für mehrere Nutzer betreiben?** Ja – jeder Nutzer hat seinen eigenen Mastercode und eigene verschlüsselte Einträge. Die Daten sind vollständig voneinander getrennt. --- ## 🗺 Geplante Erweiterungen (Roadmap) > Diese Features sind noch nicht implementiert und können in einer späteren Version > hinzugefügt werden. - **Browser-Extension** – Passwörter direkt im Browser automatisch ausfüllen - **TOTP / 2FA** – Zwei-Faktor-Authentifizierung (Google Authenticator) - **Passwort-Teilen** – Einträge sicher mit anderen Nutzern teilen - **Ablaufdatum** – Erinnerung wenn Passwörter zu alt werden - **Passwort-Audit** – Schwache oder doppelte Passwörter erkennen - **Import** – CSV-Import aus anderen Passwort-Managern (LastPass, Bitwarden) - **Mobile App** – PWA für Smartphone-Nutzung --- ## 📄 Lizenz MIT Einzelplatz - License – frei verwendbar, anpassbar und weitervertreibbar. Bei Weitergabe bitte diese README beilegen. --- *PasswortBox v1.0 · PHP 8.0+ · SQLite · AES-256-GCM · Web Crypto API · PayPal IPN*