PasswortBox v1.0

Eigenschaften
Lizenztyp:
Kommerzielle Lizenz
PHP Version:
8.x


 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.

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*

Rezensionen

Es sind noch keine Kommentare vorhanden.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
ANG GES G P
During module initialisation a shared memory segment is created and initialised with a randomly generated secret. This segment remains attached ac ...
ANG GES G P
Mit phpunity.htmanager können Sie bequem über eine Benutzeroberfläche Verzeichnisse auf Ihrem Server oder innerhalb Ihrer Webpräsenz schützen ...
ANG GES G P
PHP Protector - Komplettschutz & Lizenzsystem für Ihre PHP Scripte. Mit diesen Lizenzsverwaltungssystem können Sie ihre Scripte bei ihren Kunden ...
ANG GES G P
Mit diesem Script können Sie eine beliebige Zeichenkette in folgenden Methoden verschlüsseln: Standard Unix Crypt, MD5, CRC32 Zusätzlich ha ...
ANG GES G P
Mit dem PHP Kundenlogin-Script erhalten Sie alle nötigen Dateien, um einen eigenen Kundenlogin auf Ihrem Webspace zu betreiben. Nutzen Sie die v ...
ANG GES G P
When developing web applications in PHP (or any other languages for that matter) there are several security aspects we should consider. In this ar ...
ANG GES G P
Mit diesem Script können Sie Ihre Webseite oder Bereiche Ihrer Webseite mit Passwort schützen. Mit PHPpass Plus erhalten Sie eine komplette Pass ...
ANG GES G P
What is ApPHP WebsiteCleaner? This script is a very simple and fast utility allows you to clean your website from unneeded files and from malwar ...
Neu
10 x angesehen
0 x gemerkt
Details zur Anzeige
ANG GES G P
Anfrage stellen

Du bist nicht als Benutzer angemeldet. Bitte gebe Deinen Namen und E-Mailadresse an!

Wird geladen... Bitte warte.
Details zur Anbieter