79 Einträge gefunden
📱 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!** 💪
💰 FundingBox - Professionelle Crowdfunding-Plattform 🎉 FINALE VERSION v6.0 - KOMPLETT & PRODUKTIONSBEREIT Eine vollständige, moderne Crowdfunding-Plattform mit PayPal-Integration, Auszahlungs-System und Admin-Panel. 📋 INHALTSVERZEICHNIS 1. [Übersicht](übersicht) 2. [Features](features) 3. [Installation](installation) 4. [Auszahlungs-System](auszahlungs-system) 5. [Gebühren-System](gebühren-system) 6. [Admin-Panel](admin-panel) 7. [Technische Details](technische-details) 8. [FAQ](faq) ÜBERSICHT Was ist FundingBox? FundingBox ist eine **professionelle Crowdfunding-Plattform** mit allen wichtigen Features: ✅ **User-System** - Registrierung, Login, Profile ✅ **Projekt-Management** - Erstellen, verwalten, Updates ✅ **PayPal-Integration** - Echte Zahlungen + Demo-Modus ✅ **Auszahlungs-System** - Bankdaten & PayPal-Auszahlung ✅ **Gebühren-Berechnung** - PayPal + Platform-Provision ✅ **Admin-Panel** - Komplette Verwaltung ✅ **E-Mail-Benachrichtigungen** - Automatisch ✅ **Responsive Design** - Mobile-optimiert FEATURES 🔐 User-System Registrierung & Login: - Benutzername, E-Mail, Passwort - Bcrypt Password-Hashing - Session-Management - Passwort ändern - E-Mail ändern User-Profil (profile.php): - Account-Informationen - **Auszahlungsdaten** (PayPal/Bank) - Passwort ändern - E-Mail ändern 📝 Projekt-Management Projekt erstellen: - Titel, Beschreibung - Zielbetrag (€) - Kategorie (8 zur Auswahl) - Laufzeit (Enddatum) - Bild-Upload (JPG, PNG, GIF) Kategorien: - Technologie - Kunst & Kultur - Musik & Events - Sport - Bildung - Soziales - Umwelt - Sonstiges Projekt-Status: - **active** - Läuft - **successful** - Ziel erreicht - **failed** - Gescheitert - **draft** - Entwurf - **cancelled** - Abgebrochen 💰 Spenden-System PayPal-Integration: - REST API v2 - Sandbox für Tests - Live-Modus für Production - Automatische Rückmeldung Demo-Modus: - Für Tests ohne PayPal - Sofort bestätigt - Parallel nutzbar Gebühren-Berechnung: - **PayPal Gebühr:** 2,49% + 0,35€ - **Platform Gebühr:** 5% (anpassbar) - **Nettobetrag:** Automatisch berechnet - **Live-Vorschau** im Spenden-Formular 💳 Auszahlungs-System User hinterlegt Daten (profile.php): **Option 1: PayPal** - PayPal E-Mail-Adresse **Option 2: Banküberweisung** - Kontoinhaber - IBAN - BIC (optional) - Bankname (optional) Admin sieht alles (admin-payouts.php): - Alle User mit Auszahlungsanspruch - Komplette Empfänger-Daten - Aufschlüsselung pro User: - Gesamt Brutto - PayPal Gebühren - Platform Gebühren - **Auszuzahlen (Netto)** - Gesamt-Statistiken 📊 Admin-Panel admin.php - Dashboard: - 4 Statistik-Cards - Alle Projekte verwalten - Filter (Alle, Aktiv, Entwurf) - Projekte löschen admin-users.php - User-Verwaltung: - Alle User in Tabelle - Rolle (Admin/User Badge) - Statistiken (Projekte, Spenden) - Aktionen: - ↑ Admin machen - ↓ User machen - User löschen admin-payouts.php - Auszahlungen: - Pro User aufgeschlüsselt - Empfänger-Daten (PayPal/IBAN) - Gebühren-Übersicht - Netto-Beträge - Gesamt-Summen INSTALLATION 1. Dateien hochladen Alle Dateien auf Webserver hochladen 2. install.php aufrufen http://deine-domain.de/install.php 3. Formular ausfüllen: **Datenbank-Verbindung:** - DB Host: `localhost` (meist) - DB Name: `fundingbox` - DB User: [dein DB-User] - DB Password: [dein DB-Passwort] **Portal-Einstellungen:** - Portal-Name: `FundingBox` (anpassbar) - Site URL: `https://deine-domain.de` **👨💼 Admin-Account erstellen:** - Benutzername: [DEIN WUNSCH] - E-Mail: [DEINE E-MAIL] - Passwort: [DEIN SICHERES PASSWORT] 4. \"Installation starten\" klicken **Ergebnis:** ✓ 4 Tabellen erstellt (users, projects, contributions, project_updates) ✓ Admin-User mit DEINEN Daten angelegt ✓ config.php erstellt ✓ install.php löscht sich selbst 5. Zugangsdaten notieren! Success-Screen zeigt DEINE Admin-Daten - SPEICHERN! 🎯 Nach der Installation: 1. Einloggen http://deine-domain.de/login.php Mit DEINEN Admin-Daten einloggen 2. Profil einrichten Profil → Auszahlungsdaten → PayPal-E-Mail ODER Bankdaten eingeben → Speichern 3. PayPal konfigurieren (optional) paypal-config.php öffnen → Client ID & Secret eintragen → Siehe Abschnitt \"PayPal-Integration\" 4. Gebühren anpassen (optional) fees-config.php öffnen → PAYPAL_FEE_PERCENT (Standard: 2.49) → PAYPAL_FEE_FIXED (Standard: 0.35) → PLATFORM_FEE_PERCENT (Standard: 5.0) ← DEINE Provision! 5. Testen! 1. Projekt erstellen 2. Testspende (Demo-Modus) 3. Admin-Panel prüfen 4. Auszahlungs-Übersicht ansehen AUSZAHLUNGS-SYSTEM Workflow: Von Spende bis Auszahlung 1. User richtet Auszahlung ein: User loggt ein → Profil aufrufen → Auszahlungsdaten → Methode wählen (PayPal/Bank) → Daten eingeben → Speichern 2. Spender spendet: Spender wählt: 100,00 € System berechnet automatisch: - Brutto: 100,00 € - PayPal Gebühr: -2,84 € (2,49% + 0,35€) - Platform Gebühr: -5,00 € (5%) = NETTO: 92,16 € (geht an Projekt-Ersteller) In DB gespeichert: - amount: 100.00 - paypal_fee: 2.84 - platform_fee: 5.00 - net_amount: 92.16 3. Admin zahlt aus (Monatsende): Admin loggt ein → admin-payouts.php → Sieht Tabelle mit allen fälligen Auszahlungen: User: max_mueller Methode: PayPal PayPal: max@email.de Gesamt Brutto: 500,00 € PayPal Gebühren: -13,60 € Platform Gebühren: -25,00 € AUSZUZAHLEN: 461,40 € ✅ Admin überweist: → 461,40 € an max@email.de (PayPal) Admin behält: → 25,00 € (Platform-Gebühren = DEINE Provision) GEBÜHREN-SYSTEM Konfiguration (fees-config.php) PayPal Gebühren (Deutschland): php define('PAYPAL_FEE_PERCENT', 2.49); // 2,49% define('PAYPAL_FEE_FIXED', 0.35); // + 0,35€ Platform-Provision (DEINE Gebühr): php define('PLATFORM_FEE_PERCENT', 5.0); // 5% **Anpassbar!** Einfach Werte ändern. Beispiel-Rechnungen Spende: 10,00 € Spender zahlt: 10,00 € - PayPal Gebühr: -0,60 € (2,49% + 0,35€) - Platform Gebühr: -0,50 € (5%) = Projekt erhält: 8,90 € Spende: 50,00 € Spender zahlt: 50,00 € - PayPal Gebühr: -1,60 € - Platform Gebühr: -2,50 € = Projekt erhält: 45,90 € Spende: 100,00 € Spender zahlt: 100,00 € - PayPal Gebühr: -2,84 € - Platform Gebühr: -5,00 € = Projekt erhält: 92,16 € Gebühren-Vorschau im Spenden-Formular Wenn User Betrag eingibt, sieht er SOFORT: 💰 Gebühren-Übersicht Spendenbetrag: 100,00 € - PayPal Gebühr: -2,84 € - Platform Gebühr: -5,00 € Projekt erhält: 92,16 € **Live-Update** bei Betrag-Änderung! ADMIN-PANEL Zugriff Wer ist Admin? User mit `is_admin = 1` in Datenbank Beim Install: Dein gewählter Admin-Account bekommt automatisch `is_admin = 1` Weitere Admins: Admin loggt ein → admin-users.php → Bei User auf \"↑ Admin machen\" → User ist jetzt Admin Admin-Navigation Dashboard | User | Auszahlungen | ← Zur Seite admin.php - Dashboard: - 4 Statistik-Cards (User, Projekte, €, Spenden) - Alle Projekte in Tabelle - Filter (Alle, Aktiv, Entwurf) - Projekte ansehen/löschen admin-users.php - User-Verwaltung: - Alle User in Tabelle - Admin/User Badges - Statistiken (Projekte, Spenden) - Admin machen/entfernen - User löschen admin-payouts.php - Auszahlungen: - 4 Gesamt-Statistiken (Brutto, PayPal-Fee, Platform-Fee, Netto) - Tabelle pro User: - Username, E-Mail - Auszahlungsmethode (PayPal/Bank) - Empfänger-Daten (vollständig!) - Aufschlüsselung (Brutto, Gebühren, Netto) - Gesamt-Summe am Ende TECHNISCHE DETAILS Dateien (31 PHP-Dateien) Core: - config.php - Konfiguration - functions.php - Helper-Funktionen - email-functions.php - E-Mail-System - paypal-config.php - PayPal-Integration - fees-config.php - Gebühren-Berechnung Installation: - install.php - Basis-Installation - update-db.php - Auszahlungs-System (einmalig!) Frontend: - style.css - Design - footer.php - Footer-Component User-System: - login.php - Login & Register - logout.php - Logout - profile.php - Profil & Auszahlungsdaten Hauptseiten: - index.php - Startseite - projects.php - Alle Projekte - project.php - Projekt-Details - create-project.php - Projekt erstellen - project-updates.php - Updates verwalten - how-it-works.php - So funktioniert's Spenden: - support.php - Spenden-Formular - paypal-success.php - PayPal Success - paypal-cancel.php - PayPal Cancel User-Bereich: - dashboard.php - User-Dashboard Admin: - admin.php - Dashboard - admin-users.php - User-Verwaltung - admin-payouts.php - Auszahlungen Rechtliches: - impressum.php - Impressum - datenschutz.php - Datenschutz - agb.php - AGB Support: - help.php - Hilfe & FAQ - contact.php - Kontakt (mit CAPTCHA) Sicherheit Implementiert: ✅ **PDO Prepared Statements** (SQL Injection Schutz) ✅ **Password Hashing** (Bcrypt) ✅ **XSS-Schutz** (htmlspecialchars) ✅ **Session Regeneration** (bei Login) ✅ **File Type Validation** (Uploads) ✅ **CSRF-Ready** (erweiterbar) Empfehlungen: - HTTPS/SSL verwenden - Starke Passwörter - Regelmäßige Backups - .htaccess sichern FAQ Gebühren **Q: Wie hoch sind die Gebühren?** A: PayPal: 2,49% + 0,35€. Platform: 5% (anpassbar in fees-config.php) **Q: Kann ich Gebühren ändern?** A: Ja, in fees-config.php die Werte anpassen. **Q: Wer behält die Platform-Gebühr?** A: DU als Plattform-Betreiber. Das ist deine Provision. Auszahlung **Q: Wann wird ausgezahlt?** A: Manuell durch Admin (z.B. Ende des Monats) **Q: Muss User Auszahlungsdaten eingeben?** A: Ja, sonst kann Admin nicht auszahlen. User bekommt Hinweis im Profil. **Q: Kann User zwischen PayPal und Bank wechseln?** A: Ja, jederzeit im Profil änderbar. Admin **Q: Wie wird man Admin?** A: Beim Install als Admin angelegt ODER von anderem Admin gemacht (admin-users.php) **Q: Kann ich mehrere Admins haben?** A: Ja, unbegrenzt möglich. **Q: Kann letzter Admin entfernt werden?** A: Nein, mindestens 1 Admin muss bleiben (Schutz). PayPal **Q: Brauche ich PayPal Business?** A: Empfohlen, aber nicht zwingend. Personal geht auch. **Q: Sandbox vs Live?** A: Sandbox = Test mit Fake-Geld. Live = Echtes Geld. **Q: Wie viel kostet PayPal?** A: 2,49% + 0,35€ pro Transaktion (Deutschland) PRODUCTION CHECKLIST Vor dem Live-Gang: - [ ] **HTTPS/SSL** installieren - [ ] **PayPal Live-Modus** aktivieren (paypal-config.php) - [ ] **E-Mail-Server** konfigurieren - [ ] **Gebühren** prüfen (fees-config.php) - [ ] **Admin-Account** sichern (starkes Passwort) - [ ] **Impressum** ausfüllen (eigene Daten) - [ ] **Datenschutz** anpassen - [ ] **AGB** prüfen - [ ] **Backup-System** einrichten - [ ] **Alle Funktionen** testen - [ ] **Mobile** testen - [ ] **PayPal** testen (erst Sandbox, dann Live) SUPPORT & UPDATES Bei Problemen: DB-Verbindung fehlgeschlagen: - config.php prüfen - DB-Zugangsdaten korrekt? - DB existiert? Uploads funktionieren nicht: bash chmod 755 uploads chmod 755 uploads/projects Admin-Panel nicht erreichbar: - Als Admin eingeloggt? - is_admin = 1 in DB? CHANGELOG v6.0 (Aktuell) - ✅ Auszahlungs-System (PayPal/Bank) - ✅ Gebühren-Berechnung (PayPal + Platform) - ✅ Admin-Auszahlungs-Übersicht - ✅ Gebühren-Vorschau im Formular - ✅ Navigation mit Profil + Admin-Links v5.0 - ✅ Admin beim Install anlegen - ✅ Profil-Seite (Passwort/E-Mail ändern) - ✅ User-Verwaltung v4.0 - ✅ Kontaktformular (mit CAPTCHA) - ✅ Hilfe/FAQ (20+ Fragen) - ✅ AGB v3.0 - ✅ E-Mail-System (4 Templates) - ✅ Admin-Panel - ✅ Projekt-Updates - ✅ Footer & Rechtliches v2.0 - ✅ Dashboard funktional - ✅ Spenden-System - ✅ Suche & Filter v1.0 - ✅ Basis-System - ✅ Login & Register - ✅ Projekt erstellen ABSCHLUSS Was du jetzt hast: ✅ **31 PHP-Dateien** - Komplettes System ✅ **5 DB-Tabellen** - Vollständig ✅ **PayPal-Integration** - Funktioniert ✅ **Auszahlungs-System** - Professionell ✅ **Gebühren-Berechnung** - Automatisch ✅ **Admin-Panel** - Umfassend ✅ **E-Mail-System** - Automatisch ✅ **Responsive Design** - Mobile-ready ✅ **Sicherheit** - PDO, Hashing, XSS ✅ **Dokumentation** - Komplett (diese README) Nächste Schritte: 1. **Hochladen** auf Server 2. **install.php** ausführen (Admin-Daten eingeben!) 3. **update-db.php** ausführen (einmalig!) 4. **Einloggen** mit deinen Daten 5. **Profil** einrichten (Auszahlungsdaten) 6. **PayPal** konfigurieren (optional) 7. **Gebühren** anpassen (optional) 8. **Testen** im Demo-Modus 9. **Live gehen** mit PayPal Live-Modus 10. **Erfolgreich sein!** 🎉 **FUNDINGBOX v6.0 FINAL** **Professionell • Produktionsbereit • Komplett** **JETZT STARTEN! 💰🚀** *Diese Plattform wurde mit ❤️ entwickelt* *Viel Erfolg mit deiner Crowdfunding-Plattform!*
💬 PIWO-Chat Dein Server. Deine Regeln. Deine Privatsphäre. Ähnlich Whatsapp, Telegramm nur in mini Ausführung fürs Web. PIWO-Chat ist die kompromisslose Antwort auf datenhungrige Messenger-Giganten. Es ist eine vollständig verschlüsselte Web-App, die ohne externe Abhängigkeiten, Cloud-Zwang oder App-Store-Gängelung auskommt. Installiere deinen eigenen Messenger in Minuten auf deinem Webspace und behalte die 100%ige Souveränität über deine Daten. 🛡️ Unabhängigkeit trifft Sicherheit Während andere Messenger Metadaten in der Cloud sammeln, arbeitet PIWO-Chat autark auf deiner Hardware. Self-Hosted: Alles läuft über PHP und eine lokale SQLite-Datenbank. End-to-End Feeling: Nachrichten werden via AES-256-CBC verschlüsselt gespeichert. Zero External Dependencies: Keine Tracker, keine externen Bibliotheken von Drittanbietern. Hardened Security: Argon2id Passwort-Hashing, 2FA via E-Mail und Schutz gegen Brute-Force-Angriffe sind standardmäßig an Bord. 🚀 Funktionen, die begeistern Trotz der schlanken Architektur bietet PIWO-Chat den vollen Komfort moderner Kommunikation: Echtzeit-Chat: Einzel- und Gruppen-Chats mit Schreibstatus-Anzeige („... schreibt“) und Gelesen-Bestätigung (✓✓). Medien-Power: Sende Bilder (autom. WebP-Optimierung), Videos, Dokumente oder nimm Sprachnachrichten direkt im Browser auf. Emoji-Power: Über 650 Emojis mit integrierter deutscher Textsuche (z.B. „Feuer“ oder „Herz“). Admin-Kontrolle: Ein mächtiges Dashboard erlaubt die Benutzerverwaltung, das Einsehen von System-Logs und die Wartung der Datenbank mit nur einem Klick. Support-integriert: User können Admins über einen dedizierten Button direkt kontaktieren – ideal für geschlossene Communities oder Firmen-Intranets. 🛠️ Technische Exzellenz (Lightweight) PIWO-Chat ist so optimiert, dass es auf nahezu jedem Standard-Webhosting läuft: Stack: PHP 7.4+, Apache (mod_rewrite), SQLite3. Responsive Design: Ein modernes Dark-Mode Interface, das am Desktop genauso flüssig läuft wie als Progressive Web App auf dem Smartphone. One-Click Install: Lade den Inhalt des ZIP hoch, starte die install.php und dein Messenger ist einsatzbereit. Die Installationsdatei löscht sich aus Sicherheitsgründen danach selbst. PIWO-Chat ist mehr als ein Messenger – es ist dein privater digitaler Rückzugsort. Man könnte sogar für IOS und Android Apps entwickeln. Wenn man dann im User Profil einen QR Code Generator einbaut brauch der User nur noch den QR Code Scannen und kann den Chat auf Handy über die APP nutzen. Jetzt auf dem eigenen Server installieren | Dokumentation lesen
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)
Wk-Suma ist im Grundprinzip ein Webkatalog. Unterschied hier ist der Aufbau, dieser ähnelt auf denBlick einer Suchmaschine und gleichzeitig einem Webkatalog. Die gesamte Struktur ist hierbei sehreinfach gehalten worden um Usern einen top Überblick zu gewährleisten.Dieses System verfügt über eine sehr einfache Installationsroutine, so das selbst unerfahrene Anwenderinnerhalb weniger minuten das Script installiert haben. Weitere Bilder per Anfrage Funktionen im Überblick Mit dieser WK-Suma sind Sie ganz vorne mit dabei. Thumbnail Anbieter sollte ein kostenpflichtiger genutzt werden. Sie verfügt über nachfolgende Funktionen: 1. Von der Startseite aus zum Homepageeintrag Auswahl Kostenlos, Profi oder Premium 2. Suchfunktion nach Beschreibung, Titel oder PLZ 3. kostenlos=mit Backlink, Profi=farbig hervorgehoben, Premium=Startseite und farbig hervorgehoben 4. Bewertungssystem, Installationsroutine 5. Login zum ändern des Eintrages oder hochstufen auf Profi, Premium Adminbereich 1. Einträge einsehen / prüfen / freigeben / sperren 2. Kategorien und Unterkategorien anlegen, bearbeiten, löschen 3. Preise und Admindaten anlegen 4. Passwort anlegen 5. Impressum, Datenschutz, AGB via Editor anlegen, ändern, löschen Project Name : WK-Suma Script Language Used : PHP8 getestet bis 8.4 Database : MySQL User Interface Design : HTML, AJAX, JQUERY, JAVASCRIPT Web Browser : Mozilla, Google Chrome, IE8, OPERA Software : XAMPP / Wamp / Mamp/ Lamp (anyone)
🎁 Geschenke-Portal Ein innovatives Portal, auf dem User Wunschprodukte einstellen und Händler Aufgaben vergeben können. User erledigen Aufgaben (z.B. Social-Media-Posts) und sammeln Punkte, um ihre Wunschprodukte zu erhalten. 📋 Features User - Wunschprodukte mit Bild und Beschreibung einstellen - Aufgaben von Händlern erledigen - Punkte sammeln (4:1 Ratio - 50€ Produkt = 200 Punkte) - Tracking-Link: `projekt.de?u=@username` - Punkte bei Händlern einlösen - Chat mit Händlern Händler - Auf Wunschprodukte bewerben - Aufgaben erstellen (Social Media, Foren, etc.) - Screenshot-Beweise prüfen - Punkte vergeben - Produktkatalog verwalten - **Pflicht:** Impressum mit Steuernummer - **Pflicht:** Gewerbeanmeldung hochladen Admin - User/Händler verwalten - Gewerbeanmeldungen prüfen & freischalten - Impressum, Datenschutz, AGB bearbeiten - FAQ für User/Händler editieren - Statistiken einsehen 🚀 Installation Voraussetzungen - PHP 8.0 oder höher - MySQL/MariaDB - Apache/Nginx Webserver - GD Library (für Bildkonvertierung) Schritt 1: Dateien hochladen bash Projekt-Dateien auf Server hochladen Berechtigungen setzen chmod 755 -R /pfad/zum/projekt chmod 777 -R uploads/ Schritt 2: Installation ausführen 1. Browser öffnen: `https://deine-domain.de/install.php` 2. Datenbank-Zugangsdaten eingeben 3. Admin-Account erstellen 4. `install.php` wird automatisch gelöscht Schritt 3: Erste Schritte 1. Mit Admin-Account anmelden 2. Impressum, Datenschutz, AGB unter Admin → Einstellungen erstellen 3. FAQ für User/Händler anpassen 📂 Projektstruktur geschenke-portal/ ├── install.php Installation (löscht sich selbst) ├── config.php Datenbank-Konfiguration (erstellt von install.php) ├── functions.php Helper-Funktionen ├── index.php Marktplatz ├── register.php Registrierung (User/Händler) ├── login.php Login mit 2FA ├── 2fa_verify.php 2FA Code-Eingabe ├── logout.php Logout │ ├── user/ User-Bereich │ ├── dashboard.php Dashboard │ ├── wishlist.php Wunschliste verwalten │ ├── tasks.php Verfügbare Aufgaben │ ├── submit_task.php Aufgabe einreichen │ ├── points.php Punkteübersicht │ ├── profile.php Profil bearbeiten │ └── faq.php FAQ │ ├── haendler/ Händler-Bereich │ ├── dashboard.php Dashboard │ ├── gewerbe_upload.php Gewerbeanmeldung hochladen │ ├── profile.php Firmenprofil + Impressum │ ├── browse.php Wunschprodukte durchsuchen │ ├── apply.php Auf Produkt bewerben │ ├── tasks.php Aufgaben verwalten │ ├── review.php Aufgaben-Freigaben │ └── faq.php FAQ │ ├── admin/ Admin-Bereich │ ├── dashboard.php Dashboard + Statistiken │ ├── users.php User-Verwaltung │ ├── verify_gewerbe.php Gewerbeanmeldungen prüfen │ └── settings.php Impressum, Datenschutz, AGB, FAQ │ ├── chat/ Chat-System │ ├── index.php Chat-Übersicht │ ├── conversation.php Chat-Fenster │ └── send.php Nachricht senden (AJAX) │ ├── uploads/ Upload-Verzeichnisse │ ├── profiles/ Profilbilder │ ├── products/ Produktbilder │ ├── tasks/ Screenshot-Beweise │ └── gewerbe/ Gewerbeanmeldungen │ └── README.md Diese Datei 🔒 Sicherheit - ✅ PDO Prepared Statements (SQL Injection Protection) - ✅ htmlspecialchars() für alle Ausgaben (XSS Protection) - ✅ Password Hashing (PHP password_hash) - ✅ IP-Adressen gehasht (SHA-256) - ✅ 2FA per Email - ✅ Upload-Protection (index.php in Upload-Ordnern) - ✅ Session-Management 🎨 Design - Farbschema: Grün/Gelb (Marktplatz-Feeling) - Moderne Glassmorphism-Effekte - Responsive Design - Font Awesome Icons ⚙️ Konfiguration Datenbank (config.php) php define('DB_HOST', 'localhost'); define('DB_NAME', 'geschenke_portal'); define('DB_USER', 'root'); define('DB_PASS', ''); Punkte-Ratio (config.php) php define('POINTS_RATIO', 4); // 50€ Produkt = 200 Punkte 💡 Workflow 1. **User erstellt Wunschprodukt** - Produktbild, Name, Beschreibung, Preis - Punktepreis wird automatisch berechnet (4:1) 2. **Händler bewirbt sich** - Sieht Wunschprodukt im Marktplatz - Bewirbt sich mit Angebot 3. **User akzeptiert Händler** - Händler wird zugewiesen - Händler kann Aufgaben erstellen 4. **Händler erstellt Aufgaben** - \"Poste auf Instagram\" = 50 Punkte - User bekommt Tracking-Link: `projekt.de?u=@username` 5. **User erledigt Aufgabe** - Verwendet Tracking-Link - Lädt Screenshot hoch 6. **Händler prüft Aufgabe** - Genehmigt → User erhält Punkte - Ablehnt → User muss nachbessern 7. **User löst Punkte ein** - Hat genug Punkte gesammelt - Händler liefert Produkt 📧 Email-Konfiguration Das System verwendet die PHP `mail()` Funktion für: - 2FA Codes - Benachrichtigungen Für Produktivumgebung SMTP konfigurieren (z.B. PHPMailer). 🛠️ Troubleshooting Problem: Bilder werden nicht hochgeladen bash Prüfe Berechtigungen chmod 777 -R uploads/ Problem: Datenbank-Verbindungsfehler - Prüfe `config.php` Zugangsdaten - Prüfe MySQL-Service: `service mysql status` Problem: 2FA Emails kommen nicht an - Prüfe PHP `mail()` Konfiguration - Teste mit: `php -r \"mail('test@example.com', 'Test', 'Test');\"` Problem: Gewerbeanmeldung kann nicht hochgeladen werden - Prüfe PHP `upload_max_filesize` und `post_max_size` - Erhöhe in `php.ini`: upload_max_filesize = 10M post_max_size = 10M 📝 Lizenz Dieses Projekt wurde für phppower entwickelt. 🤝 Support Bei Fragen oder Problemen: 1. Prüfe diese README 2. Prüfe PHP Error Logs 3. Aktiviere Error Reporting in allen Dateien 🔄 Updates Aktuelle Version: 1.0 Changelog - v1.0 (Januar 2025) - Initiales Release - User/Händler/Admin-System - 2FA Authentication - Aufgaben-System - Chat-Funktion - Gewerbeanmeldung-Prüfung --- Entwickelt mit ❤️ phppower
💼 Startups & Investment Deals **Investment-Matching-Plattform** - \"Höhle der .......\" als Web-App ✅ VOLLSTÄNDIG IMPLEMENTIERT (v1.0) Core-System ✅ Modulare Struktur (`/modules`, `/admin`, `/includes`) ✅ DB mit Präfix `sid_` (9 Tabellen) ✅ Install-Script (2-Schritte, funktioniert) ✅ `functions.php` mit Auth, 2FA, Uploads, Admin-Emails, Notifications ✅ Upload-Funktionen (Video 100MB, PDF 20MB, Bilder 5MB) Auth-System ✅ `login.php` - 2FA Email-Auth (2-Schritt-Login) ✅ `register.php` - Vollständige Firmen-Ident: - Firmendaten (Name, Rechtsform, Registernummer, Website, Branche) - Adresse & Bankverbindung - Gewerbeanmeldung Upload (PDF) - Identitätsnachweis Upload (PDF/Bild) - **Startups:** Status='active' (sofort freigeschaltet) - **Investoren:** Status='pending' + Admin-Email-Benachrichtigung ✅ `logout.php` - Session beenden ✅ `profile.php` - Profil-Editor (Username, Email, Passwort) Frontend ✅ `index.php` - Landingpage mit Hero & 3 Info-Kästen ✅ Corporate Design (Weiß/Grau/Schwarz) ✅ Responsive Layout ✅ Business-Header-Bild (Unsplash) ✅ `faq.php`, `impressum.php`, `datenschutz.php` - CMS-gesteuerte Seiten Startup-Dashboard ✅ Übersicht mit Stats (Pitches, Angebote, Nachrichten) ✅ **Pitch erstellen** (`pitch-create.php`): - Titel, Tagline, Beschreibung - Business Model, Target Market, Team-Info - Kapitalbedarf + Equity-Angebot - Video-Upload (MP4, max 100MB) - Pitch-Deck-Upload (PDF) - Finanzplan-Upload (PDF) - Produktbilder (mehrere, Multi-Upload) - Entwicklungsphase (idea/prototype/mvp/revenue/growth) ✅ **Angebote verwalten** (`offers.php`): - Liste aller eingegangenen Investor-Angebote - Investment-Summe & Equity-Details - Investor-Nachricht - Status-Anzeige (pending/negotiating/accepted/declined) Investor-Dashboard ✅ **Pitches durchsuchen** (`dashboard.php`): - Nur sichtbar wenn `admin_verified=1` - Filter: Branche, Kapitalbedarf (min/max), Phase - Pitch-Übersicht mit Stats ✅ **Pitch ansehen** (`pitch-view.php`): - Vollständige Pitch-Details - Video-Player - Produktbilder-Galerie - Dokumente (Pitch-Deck, Finanzplan) - Investment-Details-Sidebar ✅ **Angebot erstellen** (`offer-create.php`): - Investment-Summe eingeben - Equity-Wunsch % eingeben - Nachricht an Startup - Notification an Startup Admin-Panel ✅ **Dashboard** (`admin/dashboard.php`): - Stats: Wartende Investoren, Aktive Pitches, Angebote ✅ **User-Verwaltung** (`admin/users.php`): - Alle Startups & Investoren - Dokumenten-Links (Gewerbe, Identität) - Investoren freischalten/ablehnen - Status-Verwaltung ✅ **CMS-Einstellungen** (`admin/settings.php`): - FAQ editieren (Textarea) - Impressum editieren - Datenschutz editieren 🚧 Optional / Future Features - [x] Chat-System (1:1 zwischen Startup & Investor bei aktivem Angebot) - [ ] Deal-Status-Tracking (agreed/completed/cancelled) - [ ] Email-Templates verbessern (HTML statt Plain Text) - [ ] WYSIWYG-Editor für CMS (statt Textarea) - [x] Image-Lightbox für Produktbilder - [x] Video-Player mit Custom Controls - [ ] PDF-Viewer für Pitch-Decks - [ ] Search-Autocomplete für Branchen - [x] Pitch-Edit-Funktion - [x] Notification-Center im Dashboard 📁 Projektstruktur startups-investment-deals/ ├── install.php ✅ DB-Setup & Admin ├── index.php ✅ Landingpage ├── login.php ✅ 2FA-Login ├── register.php ✅ Firmen-Registrierung ├── logout.php ✅ Session beenden ├── dashboard.php ✅ Router (Startup/Investor/Admin) ├── profile.php ✅ Profil-Editor ├── faq.php ✅ FAQ (CMS) ├── impressum.php ✅ Impressum (CMS) ├── datenschutz.php ✅ Datenschutz (CMS) ├── includes/ │ ├── config.php ✅ Auto-generiert │ ├── functions.php ✅ Core-Funktionen │ └── header.php ✅ Dashboard-Header ├── assets/ │ ├── css/ │ │ ├── style.css ✅ Base │ │ ├── auth.css ✅ Login/Register │ │ ├── dashboard.css ✅ Dashboard │ │ ├── forms.css ✅ Formulare │ │ └── pitch-view.css ✅ Pitch-Ansicht │ └── uploads/ │ ├── documents/ ✅ Gewerbe, ID │ ├── videos/ ✅ Pitch-Videos │ ├── images/ ✅ Produktbilder │ └── pitches/ ✅ Pitch-Decks, Finanzpläne ├── modules/ │ ├── startup/ │ │ ├── dashboard.php ✅ Startup-Übersicht │ │ ├── pitch-create.php ✅ Pitch erstellen │ │ └── offers.php ✅ Angebote verwalten │ └── investor/ │ ├── dashboard.php ✅ Pitches durchsuchen │ ├── pitch-view.php ✅ Pitch ansehen │ └── offer-create.php ✅ Angebot erstellen └── admin/ ├── dashboard.php ✅ Admin-Übersicht ├── users.php ✅ User-Verwaltung └── settings.php ✅ CMS-Editor 🚀 Installation 1. ZIP entpacken 2. `https://deine-domain.de/install.php` 3. DB-Zugangsdaten + Admin-Email eingeben 4. Admin-Account erstellen 5. Login & Plattform nutzen 📋 Workflow **Startup:** 1. Registrierung → Sofort `active` 2. Pitch erstellen (Video, PDF, Bilder) 3. Investoren sehen Pitch 4. Angebote erhalten 5. Verhandeln (per Chat - optional) **Investor:** 1. Registrierung → Status `pending` 2. Admin erhält Email 3. Admin prüft Dokumente → Freischaltung 4. Status `active` → Pitches sichtbar 5. Filter & Durchsuchen 6. Angebot erstellen 7. Verhandeln (per Chat - optional) **Admin:** 1. Email-Benachrichtigung bei Investor-Registrierung 2. Dokumente prüfen (Gewerbe, Identität) 3. Freischalten oder Ablehnen 4. CMS-Inhalte editieren (FAQ, Impressum, Datenschutz) ⚠️ Wichtig - **Deal-Unterzeichnung erfolgt EXTERN** (Hinweis auf Index & in FAQ) - Upload-Limits: Video 100MB, PDF 20MB, Bilder 5MB - 2FA per Email (6-stellig, 10 Min. gültig) - Admin-Email bei jeder Investor-Registrierung 🎨 Design - Corporate: Weiß/Grau/Schwarz - Business-Header: Unsplash Stock-Foto - Responsive: Mobile-optimiert - Icons: Unicode Emojis **Version:** 1.0 COMPLETE **Status:** ✅ Produktionsbereit **Lizenz:** Einzelplatz-Lizenz
# 📡 PingMaster – Website Ping Service Kostenloses PHP-Skript zum automatischen Pingen Ihrer Website an 500+ Suchmaschinen, Verzeichnisse und Dienste. ## Features - **500+ Ping-Ziele** in 7 Kategorien - **Live-Terminal** – Ping-Ergebnisse in Echtzeit per AJAX - **Kategorien wählbar** – SEO, Blogs, News, Verzeichnisse, Social, Deutsche Dienste, International - **Ping-Protokoll** – bis zu 500 Einträge mit Erfolgsrate - **3 Ping-Methoden** – XML-RPC, HTTP GET, IndexNow - **Modernes Dark-Design** – Terminal-Ästhetik - **Keine Datenbank nötig** – JSON-basiertes Log-System ## Installation 1. ZIP entpacken auf Webserver 2. Browser: `https://ihredomain.de/ping/` 3. Fertig – keine Konfiguration nötig! ## Dateistruktur ``` / ├── index.php Hauptseite mit Ping-Formular ├── ping-ajax.php AJAX-Backend für Ping-Batches ├── log.php Ping-Protokoll ├── functions.php Ping-Engine, XML-RPC, Logging ├── /data/ │ └── ping-targets.php 500+ Ping-Ziele (kategorisiert) └── /logs/ └── ping-history.json Automatisch generiert ``` ## Ping-Kategorien | Kategorie | Dienste | Beschreibung | |-----------|---------|--------------| | 🔍 SEO & Suchmaschinen | 20 | Google, Bing, Yandex, IndexNow... | | 📝 Blogs & RSS | 54 | Technorati, Pingomatic, Feedster... | | 📰 News | 20 | Google News, Topix, Digg... | | 📂 Verzeichnisse | 30 | DMOZ, Yahoo Dir, Delicious... | | 📱 Social Media | 14 | Twitter, LinkedIn, Xing, Tumblr... | | 🇩🇪 Deutsche Dienste | 20 | Ping.de, Bloggerei.de, Yigg... | | 🌐 International | 90+ | PingOMatic, Pingler, BulkPing... | ## Ping-Methoden **XML-RPC** (Hauptmethode): ```xml <methodCall> <methodName>weblogUpdates.ping</methodName> <params> <param><value><string>Titel</string></value></param> <param><value><string>https://ihrewebsite.de</string></value></param> </params> </methodCall> ``` **HTTP GET** (Suchmaschinen): ``` https://www.google.com/ping?sitemap=https://ihrewebsite.de/sitemap.xml https://api.indexnow.org/indexnow?url=https://ihrewebsite.de ``` ## Konfiguration In `functions.php` anpassbar: - `TIMEOUT` (Standard: 3 Sek. pro Ping) - `LOG_MAX_ENTRIES` (Standard: 500) In `ping-ajax.php`: - `BATCH_SIZE` (Standard: 12 Ziele pro AJAX-Request) ## Anforderungen - PHP 7.4+ (empfohlen: 8.0+) - `allow_url_fopen = On` (für GET-Pings) - `fsockopen` verfügbar (für XML-RPC-Pings) - Schreibrecht auf `/logs/` Ordner ## Troubleshooting **Viele Fehler / langsam:** - Timeout-Wert erhöhen: `TIMEOUT = 5` - Manche Dienste sind inaktiv – das ist normal (20-40% Fehlerrate erwartet) **Permission denied /logs/:** ```bash chmod 755 logs/ ``` **allow_url_fopen deaktiviert:** XML-RPC-Pings funktionieren trotzdem über fsockopen. --- PHP 7.4+ · Keine Datenbank · Keine API-Keys · Sofort einsatzbereit
# 🌐 Webverzeichnis – PHP Link Directory Ein vollständiges, modernes Webverzeichnis-System mit PayPal-Integration, 2-Faktor-Authentifizierung und umfangreichem Admin-Panel. --- ## 🚀 Features ### Frontend - Modernes, responsives Design (Plus Jakarta Sans + DM Mono) - Öffentliches Verzeichnis mit Suche, Filterung & Sortierung - Kategorien mit Icons und Website-Anzahl - VIP/Premium Spotlight-Bereich - Click-Tracking mit automatischer Weiterleitung ### Benutzer - Registrierung & Login mit **2-Faktor-Authentifizierung** (E-Mail Code) - Dashboard mit Statistiken (Websites, Aufrufe, Zahlungen) - Website einreichen mit Screenshot-Upload (WebP-Konvertierung) - Plan-Auswahl & PayPal-Zahlung - Konto-Verwaltung (Passwort, 2FA) ### Admin-Panel - Übersicht mit Echtzeit-Statistiken & Umsatzzahlen - **Website freigeben / ablehnen** (mit E-Mail-Benachrichtigung) - Nutzerverwaltung (sperren, entsperren, 2FA zurücksetzen) - Einstellungen: PayPal Sandbox ↔ Live umschalten, SMTP, etc. - Website als \"Featured\" markieren ### Zahlungen & E-Mails - **PayPal IPN** (Instant Payment Notification) – vollautomatisch - Automatische Rechnung per E-Mail nach Zahlung - E-Mail bei Freischaltung / Ablehnung - Alle E-Mails als HTML-Templates ### Sicherheit - PDO Prepared Statements (SQL-Injection-Schutz) - CSRF-Token-Schutz auf allen Formularen - bcrypt Passwort-Hashing (Cost 12) - Session-Sicherheit (HttpOnly, SameSite, Secure) - Upload-Schutz (index.php in allen Upload-Ordnern) - 2FA mit Zeitbegrenzung (10 Minuten) --- ## 📋 Pakete / Pläne | Plan | Preis | Laufzeit | Backlinks | Do-Follow | Featured | |------|-------|----------|-----------|-----------|---------| | Free | 0 € | 10 Jahre | 1 | ❌ | ❌ | | Basic | 20 € | 10 Jahre | 1 | ✅ | ❌ | | Premium | 15 € | 1 Jahr | 2 | ✅ | ✅ | | VIP | 12 € | 1 Jahr | 5 | ✅ | ✅ | *Preise & Laufzeiten im Admin-Panel anpassbar* --- ## 🛠️ Installation ### Voraussetzungen - PHP 8.0+ (empfohlen: 8.4) - MySQL 5.7+ / MariaDB 10.3+ - GD-Extension (für WebP-Konvertierung) - cURL-Extension (für PayPal IPN) - SMTP-Zugang (für E-Mail-Versand) ### Schritt-für-Schritt **1. Dateien hochladen** ``` Alle Dateien in das gewünschte Webroot-Verzeichnis hochladen. z.B. /var/www/html/verzeichnis/ ``` **2. Berechtigungen setzen** ```bash chmod 755 uploads/ chmod 755 uploads/screenshots/ chmod 755 uploads/avatars/ chmod 644 *.php ``` **3. Installation starten** ``` Browser öffnen: https://ihredomain.de/install.php ``` **4. Installation Schritt 1: Datenbank** - Datenbankhost (meist: `localhost`) - Datenbankname (vorher in phpMyAdmin anlegen) - Tabellen-Prefix (Standard: `wv_`) - Datenbankbenutzer & Passwort **5. Installation Schritt 2: Konfiguration** - Website-Name und URL - Admin-Benutzername, E-Mail & Passwort - PayPal-E-Mail (Empfänger der Zahlungen) - SMTP-Zugangsdaten für E-Mail-Versand **6. Fertig!** - Die `install.php` löscht sich selbst - Admin-Panel: `https://ihredomain.de/admin/` - Frontend: `https://ihredomain.de/` --- ## ⚙️ PayPal einrichten ### Sandbox (Test-Modus) 1. PayPal Developer Account: https://developer.paypal.com 2. Sandbox-Konto erstellen 3. In `config.php`: `PAYPAL_SANDBOX = true` 4. Im Admin-Panel → Einstellungen → PayPal → Sandbox ### Live-Modus aktivieren 1. Admin-Panel → Einstellungen → PayPal → **Live** 2. PayPal IPN-URL eintragen: `https://ihredomain.de/paypal-ipn.php` 3. PayPal-Account → Profil → Benachrichtigungen → IPN aktivieren ### IPN-URL ``` https://ihredomain.de/paypal-ipn.php ``` --- ## 📧 E-Mail / SMTP einrichten ### Konfiguration ``` SMTP-Host: mail.ihredomain.de SMTP-Port: 587 (STARTTLS) oder 465 (SSL) SMTP-User: noreply@ihredomain.de SMTP-Pass: ihr-passwort ``` ### E-Mail-Templates Alle Templates in `/emails/`: - `twofa.php` – 2FA-Code - `invoice.php` – Rechnung nach Zahlung - `site_approved.php` – Website freigeschaltet - `site_rejected.php` – Website abgelehnt - `welcome.php` – Willkommen nach Registrierung - `admin_payment.php` – Admin: neue Zahlung - `admin_new_site.php` – Admin: neuer Eintrag --- ## 📁 Dateistruktur ``` webverzeichnis/ ├── install.php ← Installation (löscht sich selbst) ├── config.php ← Konfiguration (auto-generiert) ├── functions.php ← Hilfsfunktionen ├── index.php ← Startseite ├── verzeichnis.php ← Öffentliches Verzeichnis ├── neu-eintragen.php ← Website einreichen ├── paypal-zahlung.php ← PayPal-Weiterleitung ├── paypal-ipn.php ← PayPal IPN Handler ├── zahlung-erfolg.php ← Danke-Seite ├── zahlung-abbruch.php ← Abbruch-Seite ├── dashboard.php ← User Dashboard ├── meine-websites.php ← User: eigene Websites ├── konto.php ← Kontoeinstellungen + 2FA ├── login.php ← Login + 2FA ├── register.php ← Registrierung ├── logout.php ← Abmelden ├── click.php ← Click-Tracker ├── includes/ │ ├── header.php ← Header/Navigation │ └── footer.php ← Footer ├── emails/ ← E-Mail-Templates │ ├── twofa.php │ ├── invoice.php │ ├── site_approved.php │ ├── site_rejected.php │ ├── welcome.php │ ├── admin_payment.php │ └── admin_new_site.php ├── admin/ │ ├── index.php ← Admin Dashboard │ ├── websites.php ← Websites verwalten │ ├── users.php ← Nutzer verwalten │ ├── settings.php ← Einstellungen │ └── index.php ← Zugriffsschutz ├── uploads/ │ ├── screenshots/ ← Website-Screenshots │ └── avatars/ ← User-Avatare └── logs/ └── ipn.log ← PayPal IPN-Log ``` --- ## 🔧 Troubleshooting ### Problem: E-Mails werden nicht gesendet - SMTP-Zugangsdaten im Admin-Panel prüfen - Port 587 (STARTTLS) oder 465 (SSL) testen - Fallback: Wenn SMTP leer, wird `mail()` verwendet - IPN-Log prüfen: `/logs/ipn.log` ### Problem: Bilder werden nicht zu WebP konvertiert - PHP GD-Extension prüfen: `php -m | grep gd` - WebP-Support prüfen: `php -r \"phpinfo();\" | grep webp` - Schreibrechte auf `/uploads/screenshots/` prüfen ### Problem: PayPal IPN kommt nicht an - IPN-URL muss öffentlich erreichbar sein (kein localhost!) - PayPal-Account → Profil → IPN aktivieren - SSL/HTTPS erforderlich für Live-Modus - IPN-Log prüfen: `/logs/ipn.log` ### Problem: 2FA-Code kommt nicht - SMTP-Einstellungen prüfen - Spam-Ordner des Empfängers prüfen - SMTP-Log auf Serverebene prüfen ### Problem: install.php existiert noch - install.php wurde nach erfolgreicher Installation automatisch gelöscht - Falls nicht: manuell löschen! ### Fehler: \"Ungültiges CSRF-Token\" - Browser-Cache leeren - Session-Cookie löschen und neu anmelden --- ## 🔒 Sicherheitsempfehlungen 1. **HTTPS** immer aktivieren (Let's Encrypt) 2. `logs/` Verzeichnis nicht über Web erreichbar machen: ```apache # .htaccess RewriteRule ^logs/ - [F,L] ``` 3. PayPal auf **Live-Modus** stellen nach Tests 4. **2FA** für Admin-Account aktivieren 5. Regelmäßige **Datenbankbackups** --- ## 📄 Lizenz Privat / Eigennutzung. Alle Rechte vorbehalten.
# 📡 RSS-Verzeichnis – PHP-Skript Kostenloses RSS-Feed-Verzeichnis in PHP 8.0+ mit Live-Feed-Vorschau, RSS-Button-Generator, OPML-Export und Admin-Panel. ## Features - **Feed-Verzeichnis** – Kategorien mit Zähler, Suche & Filter, Sortierung - **Feed-Eintragen** – Gäste UND registrierte Nutzer (konfigurierbar) - **Live Feed-Vorschau** – Integrierter Feed-Reader mit bis zu 20 Beiträgen - **RSS-Button Generator** – HTML-Code in 4 Farben + 3 Größen - **OPML-Export** – Alle Feeds oder nach Kategorie gefiltert - **RSS-Feed des Verzeichnisses** – /rss.php - **2FA per E-Mail** – 6-stelliger Code, 10 Min. gültig - **Admin-Panel** – Feeds freischalten/ablehnen, Nutzerverwaltung, Einstellungen ## Installation 1. ZIP entpacken auf Webserver 2. Datenbank anlegen (MySQL/MariaDB, UTF-8) 3. Browser: `https://ihredomain.de/install.php` 4. Schritt 1: Datenbankverbindung eingeben 5. Schritt 2: Admin-Konto + SMTP konfigurieren 6. `install.php` löscht sich automatisch ## Standard-Kategorien (18) Auto & Motorrad, Bildung & Beruf, Business, Computer & Technik, Finanzen, Freizeit & Hobby, Gesellschaft, Gesundheit, Internet, Kostenlos & Gratis, Kunst & Kultur, Medien, Nachrichten, Reisen, Sport, Versicherungen, Wirtschaft, Sonstiges ## Dateistruktur ``` / ├── install.php Installationsassistent (löscht sich selbst) ├── config.php Konfiguration (auto-generiert) ├── functions.php Alle Hilfsfunktionen ├── index.php Startseite ├── verzeichnis.php Feed-Verzeichnis mit Suche & Filter ├── feed-eintragen.php Feed einreichen (Gäste + Login) ├── feed-vorschau.php Live Feed-Reader + Feed-Details ├── rss-button.php RSS-Button Generator ├── opml-export.php OPML Download ├── rss.php RSS-Feed des Verzeichnisses ├── click.php Klick-Tracker + Redirect ├── login.php Login mit 2FA ├── register.php Registrierung ├── logout.php Abmelden ├── konto.php Konto-Verwaltung + 2FA-Toggle ├── /admin/ │ ├── index.php Admin Dashboard │ ├── websites.php Feed-Verwaltung │ ├── users.php Nutzerverwaltung │ └── settings.php System-Einstellungen ├── /includes/ │ ├── header.php Navigation + CSS │ └── footer.php Footer ├── /emails/ E-Mail-Templates ├── /uploads/logos/ Feed-Logos (WebP) └── /logs/ Server-Logs ``` ## Admin-Panel URL: `/admin/index.php` - **Dashboard** – Statistiken, ausstehende Feeds - **Feed-Verwaltung** – Freischalten/Ablehnen mit E-Mail, Featured markieren - **Nutzerverwaltung** – Aktivieren/Sperren/Löschen, 2FA-Reset - **Einstellungen** – Website-Name/URL, SMTP, Gäste erlauben, Auto-Approve ## Sicherheit - PDO Prepared Statements überall - CSRF-Token-Schutz auf allen Formularen - bcrypt Passwort-Hashing (Cost 12) - HttpOnly Session-Cookies - XSS-Schutz via htmlspecialchars() - Upload-Schutz (index.php in Upload-Ordnern) - WebP-Konvertierung für alle Bild-Uploads ## E-Mail-Templates | Datei | Zweck | |-------|-------| | twofa.php | 2FA-Code bei Login | | welcome.php | Willkommen nach Registrierung | | feed_submitted.php | Bestätigung nach Einreichen | | feed_approved.php | Feed wurde freigeschaltet | | feed_rejected.php | Feed abgelehnt + Grund | | admin_new_feed.php | Admin: Neuer Feed eingereicht | ## Anforderungen - PHP 8.0+ (empfohlen: 8.2+) - MySQL 5.7+ / MariaDB 10.3+ - PHP-Extensions: PDO, GD, finfo, SimpleXML - Webserver: Apache / Nginx ## Troubleshooting **WebP-Konvertierung schlägt fehl:** ``` php -m | grep gd ``` GD-Extension aktivieren in php.ini: `extension=gd` **Feed-Vorschau lädt nicht:** - `allow_url_fopen = On` in php.ini prüfen - Oder cURL aktiviert? **E-Mails kommen nicht an:** - SMTP-Einstellungen in Admin → Einstellungen prüfen - Port 587 (STARTTLS) oder 465 (SSL) - Leer lassen → PHP mail() als Fallback **Gäste können nicht eintragen:** - Admin → Einstellungen → \"Gäste dürfen eintragen\" auf Ja --- PHP 8.0+ · MySQL · Kostenlos · Keine Abhängigkeiten
# 🕷 MetaCrawler ### AI-powered SEO Meta Generator · v1.0.0 MetaCrawler crawlt das Web nach einem Stichwort oder einer URL, analysiert die gefundenen Seiten und generiert mithilfe einer KI automatisch **3 optimierte Vorschläge** für Titel, Meta-Description und Keywords. Zusätzlich können vollständige Artikel generiert werden. **Komplett kostenlos nutzbar · Kein Login · Kein Abo · Einmal einrichten, dauerhaft nutzen.** --- ## ✨ Features | Feature | Beschreibung | |---|---| | 🔍 **Web-Crawling** | Bing, DuckDuckGo, Wikipedia + direkte URLs | | 🤖 **Multi-Provider AI** | OpenAI, Claude, Gemini, Mistral, Ollama | | 📊 **3 Vorschläge** | Titel (50–60 Z.), Description (150–160 Z.), Keywords | | 📝 **Artikel-Generator** | ~800 Wörter, 4 Schreibstile, DE + EN | | 🧠 **Lernpool** | Wörter aus Crawls werden gespeichert & gewichtet | | 📥 **JSON-Export** | Jede Analyse als JSON-Datei exportierbar | | 💾 **SQLite** | Kein MySQL nötig – läuft auf jedem Hosting | | 🌐 **DE + EN** | Deutsche und englische Ausgabe wählbar | --- ## 🚀 Installation ### 1. Voraussetzungen | Anforderung | Version | |---|---| | PHP | 8.0 oder höher | | cURL Extension | Pflicht | | PDO SQLite Extension | Pflicht | | Schreibrechte | `storage/` und `logs/` Ordner | ### 2. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen, z.B.: ``` https://ihre-domain.de/metacrawler/ ``` ### 3. config.php anpassen ```php // Provider wählen define('AI_PROVIDER', 'claude'); // openai | claude | gemini | mistral | ollama // Nur den gewählten Provider ausfüllen: define('CLAUDE_API_KEY', 'sk-ant-...'); define('CLAUDE_MODEL', 'claude-3-5-haiku-20241022'); ``` ### 4. Ordner-Rechte setzen ```bash chmod 755 storage/ chmod 755 logs/ ``` ### 5. Fertig – aufrufen ``` https://ihre-domain.de/metacrawler/ ``` Die SQLite-Datenbank wird beim ersten Aufruf automatisch erstellt. --- ## 🤖 AI-Provider Übersicht ### OpenAI - **API-Key**: https://platform.openai.com/api-keys - **Empfohlenes Modell**: `gpt-4o-mini` (günstig, schnell) - **Kosten**: ~$0.15 / 1M Input-Tokens ```php define('AI_PROVIDER', 'openai'); define('OPENAI_API_KEY', 'sk-...'); define('OPENAI_MODEL', 'gpt-4o-mini'); ``` --- ### Anthropic Claude - **API-Key**: https://console.anthropic.com/ - **Empfohlenes Modell**: `claude-3-5-haiku-20241022` (schnell & günstig) - **Kosten**: ~$0.25 / 1M Input-Tokens ```php define('AI_PROVIDER', 'claude'); define('CLAUDE_API_KEY', 'sk-ant-...'); define('CLAUDE_MODEL', 'claude-3-5-haiku-20241022'); ``` --- ### Google Gemini - **API-Key**: https://makersuite.google.com/app/apikey - **Empfohlenes Modell**: `gemini-1.5-flash` - **Kosten**: Kostenlos bis 1M Tokens/Monat ```php define('AI_PROVIDER', 'gemini'); define('GEMINI_API_KEY', 'AIza...'); define('GEMINI_MODEL', 'gemini-1.5-flash'); ``` --- ### Mistral AI - **API-Key**: https://console.mistral.ai/api-keys/ - **Empfohlenes Modell**: `mistral-small-latest` - **Kosten**: ~$0.20 / 1M Tokens ```php define('AI_PROVIDER', 'mistral'); define('MISTRAL_API_KEY', '...'); define('MISTRAL_MODEL', 'mistral-small-latest'); ``` --- ### Ollama (lokal – kostenlos) - **Download**: https://ollama.ai - **Kein API-Key nötig** – läuft komplett lokal - **Kosten**: 100% kostenlos ```bash # Ollama installieren & Modell laden ollama pull llama3.2 ollama serve ``` ```php define('AI_PROVIDER', 'ollama'); define('OLLAMA_HOST', 'http://localhost:11434'); define('OLLAMA_MODEL', 'llama3.2'); ``` > **Hinweis:** Ollama funktioniert nur wenn MetaCrawler auf demselben Server > wie Ollama läuft (Localhost). Für Shared-Hosting empfiehlt sich ein Cloud-Provider. --- ## 📁 Dateistruktur ``` metacrawler/ ├── config.php ← Konfiguration (Provider, API-Keys) ├── index.php ← Hauptseite: Analyse & 3 Vorschläge ├── artikel.php ← Artikel-Generator ├── history.php ← Analyse-Verlauf ├── keywords.php ← Keyword-Lernpool visualisiert ├── einstellungen.php ← Setup-Übersicht & Systeminfo │ ├── includes/ │ ├── header.php ← Navigation & CSS │ ├── footer.php ← Footer │ ├── crawler.php ← Web-Crawling Engine (cURL + Parser) │ ├── ai.php ← Multi-Provider AI Interface │ └── storage.php ← SQLite Datenbankschicht & Lernfunktion │ ├── storage/ │ ├── metacrawler.db ← SQLite Datenbank (auto-erstellt) │ └── exports/ ← JSON-Exporte │ └── logs/ ← Fehler-Logs ``` --- ## 🧠 Lernfunktion Bei jeder Analyse extrahiert MetaCrawler die häufigsten Wörter aus allen gecrawlten Seiten und speichert sie in der lokalen SQLite-Datenbank (`keywords`-Tabelle). **Was passiert konkret:** - Stoppwörter (der, die, das, the, and, ...) werden gefiltert - Wörter unter 3 Zeichen werden ignoriert - Jedes Wort erhält einen Häufigkeitszähler - Bei erneuter Verwendung wird der Zähler erhöht **Auswirkung:** - Auf der Hauptseite werden verwandte Keywords aus dem Lernpool vorgeschlagen - Je mehr Analysen, desto treffsicherer die Vorschläge - Unter `keywords.php` ist der gesamte Lernpool als Wortwolke sichtbar --- ## 📊 Seiten-Übersicht ### 🔍 index.php – Analyse Stichwort oder URL eingeben → Web wird gecrawlt → KI generiert 3 Vorschläge. Jeder Vorschlag enthält: - **Title Tag** mit Zeichenzähler (Ziel: 50–60 Zeichen, grün markiert) - **Meta Description** mit Zeichenzähler (Ziel: 150–160 Zeichen) - **Keywords** als klickbare Tags - **\"Alles kopieren\"** Button – alle 3 Felder in einem Rutsch ### 📝 artikel.php – Artikel-Generator Generiert einen ~800-Wörter-Artikel auf Basis gecrawlter Daten. Schreibstile: - **Informativ** – sachlich, für breites Publikum - **Blog** – locker, persönlich, mit \"Ich/Wir\" - **SEO-optimiert** – höhere Keyword-Dichte - **Verkauf** – überzeugend, mit Call-to-Actions ### 📋 history.php – Verlauf Alle bisherigen Analysen. Details und JSON-Export pro Eintrag. ### 🏷 keywords.php – Lernpool Alle gesammelten Keywords als gewichtete Wortwolke. Je häufiger ein Begriff gefunden wurde, desto größer dargestellt. ### ⚙️ einstellungen.php – Setup - Übersicht aller Provider mit Konfigurationsbeispielen - Links zu den jeweiligen API-Key-Seiten - Systemprüfung (PHP-Version, cURL, SQLite, Schreibrechte) --- ## 🔧 Konfigurationsreferenz ```php // config.php – alle Optionen // Provider (eines wählen) define('AI_PROVIDER', 'claude'); // openai | claude | gemini | mistral | ollama // Crawling-Einstellungen define('CRAWL_TIMEOUT', 10); // Sekunden pro Request define('CRAWL_MAX_URLS', 5); // Max. zu crawlende URLs pro Analyse define('CRAWL_USER_AGENT', '...'); // User-Agent-String // Limits define('FREE_SUGGESTIONS', 3); // Anzahl Vorschläge pro Analyse define('FREE_ARTICLE_LEN', 800); // Ziel-Wortanzahl für Artikel // Sprache define('DEFAULT_LANG', 'de'); // de | en define('TIMEZONE', 'Europe/Berlin'); ``` --- ## 🔒 Sicherheitshinweise - Die `config.php` enthält API-Keys – Zugriff per `.htaccess` schützen: ```apache # .htaccess im Hauptverzeichnis <Files \"config.php\"> Order allow,deny Deny from all </Files> ``` - Den `storage/` Ordner vor direktem Webzugriff schützen: ```apache # storage/.htaccess Deny from all ``` - Den `logs/` Ordner ebenfalls schützen: ```apache # logs/.htaccess Deny from all ``` --- ## 🗺 Geplante Erweiterungen (Roadmap) > Diese Features sind **noch nicht implementiert** und können in einer späteren Version > hinzugefügt werden. ### 👤 Benutzerverwaltung (Login/Register) - Eigene Analyse-Historien pro Nutzer - Eigene Keyword-Listen und Projekte - Getrennte Lernpools pro Nutzer ### 💳 Premium-Modell - Kostenlose Version: 3 Analysen/Tag - Premium (Einmalkauf oder Abo): Unbegrenzte Analysen - PayPal IPN Integration (analog PasswortBox) ### 📦 Projekt-Verwaltung - Mehrere URLs/Keywords als \"Projekt\" zusammenfassen - Regelmäßige Re-Analyse (Cron-Job) mit Änderungs-Benachrichtigung - Vergleich: Wie haben sich Rankings verändert? ### 🔄 Bulk-Analyse - CSV-Upload mit mehreren Keywords/URLs - Batch-Verarbeitung im Hintergrund - Export als Excel/CSV ### 📈 Ranking-Tracking - Keyword-Positionen bei Google/Bing tracken - Historische Verläufe und Grafiken - Benachrichtigung bei Positions-Änderungen ### 🌍 Mehr Crawling-Quellen - Google (mit Proxy-Rotation) - Reddit, Quora für Community-Keywords - Amazon (für Produkt-Keywords) - YouTube (für Video-SEO) ### 🔌 API-Endpunkt - REST-API für externe Anbindung - Webhook-Support - WordPress-Plugin --- ## ❓ Häufige Fragen **Warum werden manchmal keine Ergebnisse gefunden?** Manche Websites blockieren Crawler. Versuche ein anderes Stichwort oder eine direkte URL einer zugänglichen Seite. **Warum ist die AI-Antwort manchmal unvollständig?** Bei günstigeren Modellen (z.B. Haiku, gpt-4o-mini) kann das Token-Limit erreicht werden. In `ai.php` den `$maxTokens`-Wert in der `complete()`-Methode erhöhen. **Kann ich MetaCrawler auf Shared-Hosting betreiben?** Ja, solange PHP 8+, cURL und PDO-SQLite verfügbar sind. Ollama funktioniert nur auf eigenen Servern (VPS/Root-Server). **Wo werden die Daten gespeichert?** Ausschließlich lokal in `storage/metacrawler.db` (SQLite). Es werden keine Daten an externe Server gesendet außer an den gewählten AI-Provider. **Wie kann ich den Lernpool zurücksetzen?** Die Datei `storage/metacrawler.db` löschen. Sie wird beim nächsten Aufruf neu erstellt. --- ## 📄 Lizenz MIT Einzel-License – frei verwendbar, anpassbar. Bei Weitergabe bitte diese README beilegen. --- *MetaCrawler v1.0.0 · Erstellt mit PHP 8 · SQLite · Web Crypto API*
# 🎭 AvatarMaker v2.0 ### Avatar-Generator für Foren, Communities & Webseiten AvatarMaker ermöglicht es Besuchern, aus vorgefertigten Vorlagen eigene personalisierte Avatare zu erstellen – mit eigenem Text, sofortigem Download und optionaler Server-Speicherung. Kein Login, kein Abo, sofort einsatzbereit. --- ## ✨ Features | Feature | Beschreibung | |---|---| | 🎨 **Vorlagen-System** | Beliebig viele Vorlagen hochladbar, 24 bereits inklusive | | ✍️ **2 Texte pro Avatar** | Name, Titel oder Motto frei eingebbar (max. 20 Zeichen) | | 👁 **Live-Vorschau** | Echtzeit-Vorschau während der Texteingabe per AJAX | | 💾 **Server-Speicherung** | Erstellte Avatare optional speichern + Link anzeigen | | ⬇️ **Direktdownload** | Avatar sofort herunterladen ohne Login | | 🎭 **24 Beispiel-Avatare** | Farben, Gesichter, Muster, Pixel-Art, Tiere uvm. | | ⚙️ **Admin-Bereich** | Vorlagen verwalten, bearbeiten, löschen | | 🔍 **Auto-Scan** | scan.php trägt neue Bilder automatisch in die DB ein | --- ## 🚀 Installation ### 1. Voraussetzungen | Anforderung | Version | |---|---| | PHP | 7.4 oder höher | | GD Extension | Pflicht (für Bildverarbeitung) | | PDO SQLite Extension | Pflicht | | Schreibrechte | `storage/`, `avatars/templates/`, `avatars/created/` | ### 2. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen: ``` https://ihre-domain.de/avatarmaker/ ``` ### 3. config.php anpassen ```php define('AM_URL', 'https://ihre-domain.de/avatarmaker'); // Ihre URL define('SITE_URL', 'https://ihre-domain.de'); // Link zur Hauptseite define('ADMIN_PASS', 'IhrSicheresPasswort'); // !! Bitte ändern !! define('SAVE_ENABLED', true); // false = keine Server-Speicherung ``` ### 4. Ordner-Rechte setzen ```bash chmod 755 storage/ chmod 755 avatars/templates/ chmod 755 avatars/created/ ``` ### 5. Datenbank initialisieren ``` https://ihre-domain.de/avatarmaker/install.php ``` Die SQLite-Datenbank wird erstellt und alle 24 Beispiel-Vorlagen werden registriert. **Danach `install.php` löschen!** ### 6. Fertig – aufrufen ``` https://ihre-domain.de/avatarmaker/ ← Frontend https://ihre-domain.de/avatarmaker/admin/ ← Admin-Bereich ``` --- ## 📁 Dateistruktur ``` avatarmaker/ ├── config.php ← Konfiguration (URL, Passwort, Einstellungen) ├── index.php ← Frontend: Vorlage wählen & Avatar erstellen ├── install.php ← Einmalige DB-Installation (danach löschen!) ├── scan.php ← mehrere Neue Templates auto-eintragen (danach löschen!) │ ├── includes/ │ └── avatar_engine.php ← GD-Bildverarbeitung (Text, Farben, Skalierung) │ ├── admin/ │ ├── index.php ← Admin-Dashboard (Stats, Vorlagen, Avatare) │ ├── template-upload.php ← Neue Vorlage hochladen │ └── template-edit.php ← Vorlage bearbeiten │ ├── avatars/ │ ├── templates/ ← Vorlagen-Bilder (PNG/JPG/GIF) │ └── created/ ← Erstellte Avatare der Besucher │ ├── storage/ │ └── avatarmaker.db ← SQLite Datenbank (auto-erstellt) │ └── .htaccess ← Sicherheit (config.php & DB schützen) ``` --- ## 🎨 Vorlagen-Übersicht (24 inklusive) ### Farb-Vorlagen (1–12) Einfarbige Hintergründe mit geometrischen Formen und Anfangsbuchstaben. | # | Name | Farbe | |---|---|---| | 1 | Ocean | Blau | | 2 | Fire | Rot-Orange | | 3 | Forest | Grün | | 4 | Purple | Lila | | 5 | Teal | Türkis | | 6 | Gold | Gold | | 7 | Dark | Dunkelblau | | 8 | Red | Rot | | 9 | Mint | Mintgrün | | 10 | Navy | Dunkelblau | | 11 | Amber | Orange | | 12 | Wine | Weinrot | ### Charakter & Muster (13–24) | # | Name | Beschreibung | |---|---|---| | 13 | Smiley | Klassisches Lächeln-Gesicht | | 14 | Cool-Face | Gesicht mit Sonnenbrille | | 15 | Pixel-Art | Retro 8-Bit Gesicht | | 16 | Roboter | Sci-Fi Roboterkopf mit LEDs | | 17 | Katze | Katzenkopf mit Schnurrhaaren | | 18 | Alien | Großäugiges Alien-Gesicht | | 19 | Hexagon | Abstraktes Lila-Muster | | 20 | Neon-Dreiecke | Geometrisch auf schwarz | | 21 | Mandala | Buntes Kreismuster | | 22 | Wellen | Ozean-Muster mit Mond | | 23 | Gaming | Controller-Design | | 24 | Blume | Pinkes Blumenmuster | --- ## ⚙️ Admin-Bereich ### Login ``` https://ihre-domain.de/avatarmaker/admin/ Passwort: wie in config.php → ADMIN_PASS eingestellt ``` ### Funktionen **Dashboard (`admin/index.php`)** - Statistiken: Anzahl Vorlagen, erstellte Avatare gesamt, heute - Vorlagen-Übersicht mit Thumbnail, Bearbeiten- und Löschen-Button - Tabelle aller erstellten Avatare mit Vorschau, Texten, IP und Datum **Neue Vorlage hochladen (`admin/template-upload.php`)** - PNG, JPG oder GIF hochladen (max. 2 MB) - Wird automatisch auf 120×120 Pixel skaliert - Text-Positionen für Text 1 und Text 2 einstellen (X/Y-Koordinaten) - Ausrichtung: Links, Mitte oder Rechts - Schriftgröße (8–24 px), Schriftfarbe, Konturfarbe - Sortierungsreihenfolge **Vorlage bearbeiten (`admin/template-edit.php`)** - Alle Einstellungen nachträglich ändern - Neues Bild hochladen (ersetzt das alte) - Vorlage aktiv/inaktiv schalten (inaktive sind im Frontend nicht sichtbar) --- ## 🔍 Neue Vorlagen per scan.php einbinden Wenn du mehrere Bilder auf einmal in `avatars/templates/` hochlädst, kannst du sie mit `scan.php` automatisch registrieren lassen – statt jede einzeln im Admin einzutragen. **Ablauf:** 1. Bilder in `avatars/templates/` hochladen 2. `https://ihre-domain.de/avatarmaker/scan.php` aufrufen 3. Bereits registrierte Dateien werden übersprungen, neue eingetragen 4. **`scan.php` danach löschen!** Namen und Einstellungen kannst du anschließend im Admin unter **✏️ Bearbeiten** anpassen. --- ## 🔧 Konfigurationsreferenz ```php // config.php – alle Optionen define('AM_URL', 'https://ihre-domain.de/avatarmaker'); // Basis-URL (kein /) define('SITE_URL', 'https://ihre-domain.de'); // Link \"← Zur Webseite\" define('SAVE_ENABLED', true); // true = Avatare auf Server speichern define('MAX_FILE_SIZE', 2097152); // Max. Upload-Größe in Bytes (Standard: 2 MB) define('AVATAR_SIZE', 120); // Ausgabegröße in Pixel (quadratisch) define('ADMIN_PASS', 'admin123'); // Admin-Passwort – bitte ändern! ``` --- ## 🔒 Sicherheitshinweise - Admin-Passwort in `config.php` sofort nach Installation ändern - `install.php` nach der Installation löschen - `scan.php` nach Nutzung löschen - `storage/` Ordner ist per `.htaccess` vor Direktzugriff geschützt - `config.php` ist per `.htaccess` vor Direktzugriff geschützt **Empfohlene Ordner-Rechte:** ``` storage/ → 755 avatars/created/ → 755 avatars/templates/→ 755 ``` --- ## ❓ Häufige Fragen **Warum erscheint kein Avatar nach dem Erstellen?** Prüfe ob `avatars/created/` Schreibrechte hat (`chmod 755`). Prüfe ob die GD-Extension in PHP aktiv ist. **Kann ich die Avatar-Größe ändern?** Ja – `AVATAR_SIZE` in `config.php` anpassen. Standard ist 120×120 Pixel. Vorlagen-Bilder werden automatisch auf diese Größe skaliert. **Kann ich eigene Schriftarten einbinden?** Ja – TTF-Dateien in den `fonts/` Ordner legen und in `config.php` unter `FONTS` eintragen. Im Admin kann dann pro Vorlage eine Schriftart gewählt werden. **Wie deaktiviere ich die Server-Speicherung?** `define('SAVE_ENABLED', false)` in `config.php` – Avatare werden dann nur angezeigt aber nicht gespeichert, kein Download-Link wird generiert. **Wie setze ich den erstellten Avatar in ein Forum ein?** Den angezeigten Link kopieren und im Forum als Avatar-URL eintragen – die meisten Foren unterstützen externe Bild-URLs. --- ## 🗺 Geplante Erweiterungen (Roadmap) > Diese Features sind noch nicht implementiert und können in einer späteren Version hinzugefügt werden. - **Benutzer-Login** – eigene Avatar-Sammlung pro Account - **Farbfilter** – Helligkeit, Kontrast, Sättigung per Schieberegler anpassen - **Sticker/Overlays** – zusätzliche Grafik-Elemente auf den Avatar legen - **Rahmen-System** – verschiedene Rahmen um den Avatar wählbar - **Galerie** – öffentliche Übersicht aller erstellten Avatare - **API-Endpunkt** – Avatar per GET-Parameter programmatisch generieren - **Wasserzeichen** – automatisches Logo auf alle erstellten Avatare --- ## 📄 Lizenz MIT License – frei verwendbar, anpassbar und weitervertreibbar. Bei Weitergabe bitte diese README beilegen. --- *AvatarMaker v2.0 · PHP 7.4+ · GD · SQLite · Kein Login erforderlich*
# 🔐 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*
# DNSBL Checker Ein PHP-basierter Dienst zur Prüfung von Domains und IP-Adressen gegen 20 DNSBL-Blacklisten mit automatischer Zertifikatsgenerierung und Auto-Check-Funktion. ## Features - Prüfung gegen 20 DNSBL-Listen (Spamhaus ZEN, SpamCop, Barracuda, SORBS, Blocklist.de u.v.m.) - Score-Berechnung: 0–100% (Sauber / Gut / Auffällig / Kritisch) - Online-Zertifikat mit eindeutigem Token nach jeder Prüfung - SVG-Badge zum Einbinden auf der eigenen Website - Auto-Check alle 7 / 14 / 28 / 31 Tage per Cronjob - E-Mail-Benachrichtigung bei Auto-Check mit Abmelde-Link - Prüfverlauf (bis zu 10 letzte Checks) - Abmeldung über Token-Link in der E-Mail ## Dateien | Datei | Beschreibung | |---|---| | `config.php` | Datenbank, SMTP, Timeouts, Intervalle | | `dnsbl_lists.php` | Die 20 DNSBL-Listen | | `functions.php` | Hilfsfunktionen (DNS, Score, Mail) | | `install.php` | Erstellt die DB-Tabellen | | `index.php` | Hauptseite mit Formular und AJAX-Check | | `check.php` | AJAX-Endpoint für die Prüfung | | `zertifikat.php` | Zertifikat-Anzeige + SVG-Badge | | `cron.php` | Cronjob für Auto-Checks | | `abmelden.php` | Auto-Check deaktivieren | | `impressum.php` | Impressum | | `datenschutz.php` | Datenschutzerklärung | ## Installation ### 1. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen, z.B. `/dnsbl/`. ### 2. config.php anpassen ```php define('DB_HOST', 'localhost'); define('DB_NAME', 'dnsbl_checker'); define('DB_USER', 'dein_user'); define('DB_PASS', 'dein_passwort'); define('SITE_URL', 'https://deine-domain.de/dnsbl'); define('SMTP_HOST', 'mail.deine-domain.de'); define('SMTP_USER', 'info@deine-domain.de'); define('SMTP_PASS', 'mail-passwort'); define('ADMIN_EMAIL', 'admin@deine-domain.de'); ``` ### 3. Datenbank anlegen `install.php` im Browser aufrufen: ``` https://deine-domain.de/dnsbl/install.php ``` Nach erfolgreicher Installation `install.php` löschen! ### 4. Cronjob einrichten Für den Auto-Check täglich ausführen (prüft nur fällige Einträge): ``` 0 6 * * * php /pfad/zu/dnsbl/cron.php ``` Oder per URL (falls kein Shell-Zugriff): ``` 0 6 * * * curl -s https://deine-domain.de/dnsbl/cron.php ``` ### 5. Impressum & Datenschutz anpassen In `impressum.php` und `datenschutz.php` die Platzhalter ersetzen: - `Vorname Nachname` → Ihr Name - `Musterstraße 1, 12345 Musterstadt` → Ihre Adresse - `info@deine-domain.de` → Ihre E-Mail ## DNSBL-Listen | Liste | DNS-Suffix | |---|---| | Spamhaus ZEN | zen.spamhaus.org | | SpamCop | bl.spamcop.net | | Barracuda | b.barracudacentral.org | | SORBS Spam | spam.dnsbl.sorbs.net | | SORBS HTTP | http.dnsbl.sorbs.net | | SORBS SOCKS | socks.dnsbl.sorbs.net | | SORBS Zombie | zombie.dnsbl.sorbs.net | | Blocklist.de | bl.blocklist.de | | UCEPROTECT L1 | dnsbl-1.uceprotect.net | | UCEPROTECT L2 | dnsbl-2.uceprotect.net | | PSBL | psbl.surriel.com | | WPBL | db.wpbl.info | | DroneBL | dnsbl.dronebl.org | | Woody's SMTP | blacklist.woody.ch | | iX Manitu | ix.dnsbl.manitu.net | | GBUdb | truncate.gbudb.net | | S5H | all.s5h.net | | Interserver | rbl.interserver.net | | NordSpam | bl.nordspam.com | | SpamRATS | all.spamrats.com | ## Badge einbinden ```html <a href=\"https://deine-domain.de/dnsbl/zertifikat.php?token=DEIN_TOKEN\"> <img src=\"https://deine-domain.de/dnsbl/zertifikat.php?token=DEIN_TOKEN&badge=1\" alt=\"DNSBL geprüft\" width=\"200\"> </a> ``` ## Anforderungen - PHP 8.0+ - MySQL / MariaDB - PHP-Extensions: `pdo_mysql`, `openssl` (für SMTP TLS) - Cronjob-Zugang (optional, für Auto-Check) ## Lizenz Privates Projekt – alle Rechte vorbehalten.