5 Einträge gefunden
Version 1.2.0 • PHP 7.4+ (getestet auf PHP 8.4) • MySQL • Bootstrap 5 Entwickelt von phppower 1. Systemanforderungen Eigenschaft Beschreibung PHP 7.4 oder höher (getestet auf PHP 8.4) MySQL/MariaDB 5.7 / 10.3 oder höher PDO + PDO_MySQL Pflicht GD Extension Pflicht (Bildverarbeitung + WebP) mbstring Pflicht (UTF-8 / Umlaute) Apache/Nginx mit mod_rewrite uploads/ Schreibrechte 755 oder 777 2. Installation Neue Installation Alle Dateien per FTP/SFTP hochladen, dann im Browser aufrufen: https://deine-domain.de/news-cms/install.php Der 4-Schritt-Wizard: • Schritt 1 — System-Check (PHP-Version, Extensions, Schreibrechte) • Schritt 2 — Datenbank-Einstellungen + SMTP-Mail (optional) • Schritt 3 — Admin-Account anlegen • Schritt 4 — Fertig: 17 Tabellen angelegt, Standard-Kategorien eingetragen ⚠ Nach der Installation: install.php löschen oder per .htaccess sperren! .htaccess — Unterordner Falls das CMS in einem Unterordner liegt (z.B. /news-cms/): RewriteBase /news-cms/ 3. Benutzer & Rollen Rolle Eigene Posts Fremde Posts Kommentare User verw. Einstellungen User ✗ ✗ ✗ ✗ ✗ Author ✓ Voll ✗ ✗ ✗ ✗ Moderator ✓ Voll ✓ Bearbeiten ✓ ✗ ✗ Admin ✓ Voll ✓ Alles ✓ ✓ ✓ Neue Accounts starten als inactive und müssen vom Admin freigeschaltet werden. Moderator/Admin-Rolle nur durch bestehenden Admin vergebbar. 4. Posts erstellen & verwalten Post-Typen Eigenschaft Beschreibung Article Standard-Textartikel mit Quill.js Rich-Text-Editor Gallery Bildergalerie — Bilder per Editor einfügen Video Video-Datei hochladen (MP4, WebM, max. 50 MB) Audio Audio-Datei hochladen (MP3, WAV, OGG) Kategorien / Tags / Keywords • Vorhandene Kategorien per Multi-Select auswählen (mehrere möglich) • Neue Kategorien im Freitext-Feld kommagetrennt eingeben • Neue werden automatisch angelegt, als Tags verknüpft und als SEO-Keywords gespeichert • Die meta keywords im <head> werden automatisch aus Kategorien befüllt Geplante Veröffentlichung Beim Erstellen/Bearbeiten eines Posts kann unter Status → Published ein optionales Datum+Uhrzeit gesetzt werden. Ohne Datumsangabe wird sofort veröffentlicht. Der Datum-Picker erscheint automatisch wenn Published gewählt wird. Lesezeit Auf jeder Post-Karte und der Detailseite wird die geschätzte Lesezeit automatisch berechnet und angezeigt (ca. 200 Wörter/Minute). Drucken / PDF Jeder Post hat einen Drucken-Button der eine saubere Druckansicht (print.php) in einem neuen Tab öffnet. Von dort kann auch direkt als PDF gespeichert werden. Navbar, Footer und Werbung werden ausgeblendet. Herz-Bewertung (Likes) Jeder Post hat einen Herz-Button (❤ ) auf der Detailseite. Besucher können ohne Login liken. Ein Cookie verhindert Mehrfach-Likes (1 Jahr gültig). Anzahl auch auf Post-Karten sichtbar. 5. Volltextsuche Die Suche ist über das Suchfeld im Header auf allen Seiten erreichbar. Sie durchsucht Titel, Content, Excerpt und Kategorienamen gleichzeitig. Suchergebnisse zeigen den Suchbegriff farbig markiert (highlight). URL: search.php?q=suchbegriff Eigenschaft Beschreibung Mindestlänge 2 Zeichen Durchsucht Titel, Content, Excerpt, Kategoriename Hervorhebung Suchbegriff wird in Ergebnissen farbig markiert Paginierung 10 Ergebnisse pro Seite Bild Featured Image wird in Ergebnisliste angezeigt 6. Autor-Profilseite Jeder Autor hat eine öffentliche Profilseite unter profile.php?user=USERNAME. Autor-Namen auf Post-Detailseiten sind direkt verlinkt. Eigenschaft Beschreibung URL profile.php?user=username Zeigt Avatar (Initiale), Rolle, Mitglied seit, Artikel-/Views-/Likes-Zähler Artikel-Grid Alle veröffentlichten Posts des Autors mit Paginierung (9 pro Seite) Statistik Gesamt-Views und Gesamt-Likes über alle Posts 7. Startseite — Aufbau Eigenschaft Beschreibung Header Logo + Suchfeld + Login/Logout + Dark-Mode. Automatisches Hintergrundbild von Picsum Photos. Navigation Dynamische Kategorien-Navbar Tag-Wolke Alle Kategorien farbig — Schriftgröße je nach Artikel-Häufigkeit Banner Zwei Werbeplätze 468×60 px nebeneinander (Admin → Banner) Post-Grid Artikel als Karten mit Bild, Kategorie, Lesezeit, Views, Kommentare, ❤Likes Paginierung Anzahl pro Seite in Einstellungen konfigurierbar Footer Newsletter-Widget, Links, Besucher-Statistik 8. Banner verwalten Admin → Banner (nur Admins). Zwei Werbeplätze auf der Startseite, jeweils 468×60 px. Eigenschaft Beschreibung Position top_left = linker Platz, top_right = rechter Platz Bild-URL Vollständige URL oder relativer Pfad in /uploads/ Ziel-URL Wohin der Klick führt (optional, öffnet in neuem Tab) Aktiv Ein/Aus — inaktive Banner werden durch Platzhalter ersetzt Sortierung Niedrigere Zahl = bevorzugt wenn mehrere aktiv 9. Newsletter — DSGVO Double-Opt-In Anmelde-Prozess • User trägt Email im Footer-Widget ein • System sendet Bestätigungs-Email mit Token (Double-Opt-In) • User klickt Link → newsletter-confirm.php → confirmed=1 • Erst jetzt ist der User im Verteiler Newsletter versenden Admin → Newsletter → Newsletter schreiben. Sendet NUR an confirmed=1 AND subscribed=1. Jede Email enthält automatisch einen Abmelde-Link. Kommentar-Benachrichtigung Wenn jemand auf einen Kommentar antwortet, erhält der ursprüngliche Kommentator automatisch eine Email mit dem Antwort-Text und einem direkten Link zurück zum Post. Voraussetzung: Email-Adresse beim Kommentieren angegeben. 10. Besucher-Statistik Im Footer jeder Seite werden Besucherzahlen angezeigt (automatisch getrackt): Eigenschaft Beschreibung Online (5 Min) Unique Besucher aktiv in den letzten 5 Minuten Heute Unique Besucher heute Diese Woche Unique Besucher letzte 7 Tage Dieser Monat Unique Besucher letzte 30 Tage IPs werden als MD5-Hash gespeichert (DSGVO-freundlich). Einträge älter als 3 Monate werden automatisch gelöscht. 11. 2-Faktor-Authentifizierung Nach erfolgreichem Login mit Username + Passwort wird automatisch ein 6-stelliger Code per Email gesendet. Der Login ist erst nach Eingabe des Codes abgeschlossen. Eigenschaft Beschreibung Code 6-stellige Zahl, zufällig generiert Gültigkeit 10 Minuten Einmalig Jeder Code kann nur einmal verwendet werden Neu anfordern Button auf der 2FA-Seite sendet neuen Code Auto-Submit Formular wird automatisch abgesendet bei 6 eingegebenen Ziffern Tabelle varient_two_factor_codes (wird automatisch bereinigt) 12. RSS-Feed, Sitemap & SEO RSS-Feed Eigenschaft Beschreibung Alle Artikel rss.php Kategorie rss.php?cat=slug Autodiscovery Im <head> jeder Seite automatisch eingetragen Inhalt Letzte 20 Posts mit Volltext, Bild, Kategorie, Autor Sitemap sitemap.php generiert automatisch eine XML-Sitemap mit allen veröffentlichten Posts und Kategorien. robots.php liefert die robots.txt mit dem Sitemap-Link. Kanonische URLs Jede Seite hat einen <link rel="canonical"> Tag der Duplicate-Content für Suchmaschinen verhindert. Meta Keywords Werden automatisch aus den Kategorien/Tags des Posts befüllt. Auf der Startseite aus den Top-10-Kategorien. 13. Bild-Mediathek Admin → Mediathek — zeigt alle hochgeladenen Dateien aus dem uploads/ Ordner. Eigenschaft Beschreibung Bilder JPG, JPEG, PNG, GIF, WEBP — mit Bildvorschau Videos MP4, WEBM, OGV, MOV — mit Typ-Icon Audio MP3, WAV, OGG, M4A — mit Typ-Icon Filter Typ-Filter (Alle / Bilder / Videos / Audio) + Dateiname-Suche URL kopieren Klick auf Karte oder Button kopiert URL in die Zwischenablage Löschen Nur Admins können Dateien löschen 14. Header-Bild & Logo Eigenschaft Beschreibung Logo Admin → Einstellungen → Logo URL Header-Bild Automatisch von Picsum Photos (thematisch je nach Seite) Startseite Keyword aus Einstellungen (unsplash_keyword) Post-Seite Keyword aus Post-Tags und Kategorie Andere Seiten Generisches Keyword (news, magazine, search, author etc.) Fallback Lila Farbverlauf bei Ladefehler 15. Einstellungen Admin → Einstellungen (nur Admins) Eigenschaft Beschreibung Site-Name Name der Website Tagline Kurzbeschreibung Posts pro Seite Anzahl auf Startseite/Kategorieseite Logo URL Vollständige URL zum Logo-Bild Header-Bild Modus unsplash = Picsum-Bild, none = kein Bild Unsplash Keyword Englische Keywords für Hintergrundbild Datenschutzerklärung Text für datenschutz.php Impressum Text für impressum.php 16. Datei-Struktur Datei Beschreibung index.php Startseite (Tag-Wolke, Banner, Post-Grid, Lesezeit) post.php Post-Detailseite (Herz, Drucken, Verwandte, Kommentare) search.php Volltextsuche mit Highlight print.php Druckansicht / PDF-Export profile.php Öffentliche Autor-Profilseite category.php Kategorie-Übersicht archiv.php Archiv nach Jahr/Monat sitemap.php XML-Sitemap (automatisch generiert) robots.php robots.txt (dynamisch mit Sitemap-URL) rss.php RSS-Feed (alle + Kategorie-Filter) update.php AJAX-Handler für Herz-Bewertung login.php Login-Formular login-2fa.php 2FA Code-Eingabe _header_public.php Gemeinsamer Header (Logo, Bild, Suche, Login, Meta) _navbar.php Kategorien-Navigation _footer.php Footer (Newsletter, Statistik, Links) includes/auth.php Authentifizierung, Rollen, 2FA-Logik includes/db.php PDO-Wrapper mit Tabellen-Präfix includes/functions.php Hilfsfunktionen (slug, readingTime, unsplashUrl...) includes/mail.php Email-Templates (Verification, Reset, 2FA, Newsletter) includes/stats.php Besucher-Tracking admin/dashboard.php Übersicht + Top 5 Views + Top 5 Likes admin/media.php Mediathek (Bilder, Videos, Audio) admin/posts/create.php Post erstellen (inkl. Datum-Picker) admin/posts/edit.php Post bearbeiten admin/banners.php Banner-Verwaltung admin/settings.php Site-Einstellungen 17. Datenbank-Schema Alle Tabellen nutzen den Präfix varient_. Gesamt: 17 Tabellen. Tabelle Inhalt varient_users User-Accounts, Rollen, Status, Email-Verifizierung varient_sessions Login-Sessions varient_password_resets Passwort-Reset-Tokens (1h gültig) varient_two_factor_codes 2FA-Codes (6-stellig, 10min gültig, einmalig) varient_categories Kategorien (= Tags = SEO-Keywords) varient_tags Tags (synchron mit Kategorien) varient_posts Posts (alle Typen), Views-Counter varient_post_tags Verknüpfung Posts ↔ Tags varient_post_meta Zusatz-Metadaten (media_url, media_type) varient_media Hochgeladene Videos/Audios varient_comments Kommentare mit Status (pending/approved/spam) varient_seo_meta SEO-Einstellungen + Keywords pro Post varient_newsletter Abonnenten mit DOI-Feldern varient_settings Site-Einstellungen (Key-Value-Store) varient_banners Werbebanner 468×60 varient_post_likes Herz-Bewertungen pro Post (Cookie-basiert) varient_visitor_stats Besucher-Tracking (IP-Hash, Session, Datum) 18. Sicherheit Eigenschaft Beschreibung CSRF-Schutz Token auf allen POST-Formularen XSS-Schutz e() = htmlspecialchars() auf allen Ausgaben SQL-Injection PDO Prepared Statements überall Passwort-Hashing bcrypt Cost-Faktor 12 2FA 6-stelliger Code per Email, 10min gültig, einmalig Upload-Schutz PHP-Ausführung in uploads/ per .htaccess gesperrt Rollen-Prüfung Jede Admin-Seite prüft Rolle und Eigentumsrecht Newsletter DSGVO Double-Opt-In, Abmelde-Link in jeder Email Besucher-Tracking Nur MD5-Hash der IP — kein Rückschluss möglich DEBUG_MODE In Produktion auf false — keine Fehler im Browser Produktions-Checkliste • DEBUG_MODE in config.php auf false setzen • install.php löschen oder per .htaccess sperren • HTTPS verwenden (SSL-Zertifikat) • Starkes Admin-Passwort (min. 12 Zeichen mit Sonderzeichen) • Regelmäßige Datenbank-Backups 19. Häufige Probleme & Lösungen 500-Fehler ohne Ausgabe / Weißer Screen DEBUG_MODE in config.php temporär auf true setzen. PHP-Fehlerlog des Hosters prüfen. Seite zeigt "Hat möglicherweise ein temporäres Problem" PHP Parse Error — kein Syntaxfehler-Output weil DEBUG_MODE=false. Fehlerlog prüfen oder test.php mit phpinfo() anlegen. Bilder nicht sichtbar SITE_URL in config.php prüfen — kein abschließender Slash. RewriteBase in .htaccess muss zum Ordner passen. Emails werden nicht gesendet SMTP-Einstellungen prüfen. Viele Hoster blockieren Standard PHP mail(). Spam-Ordner prüfen. Herz-Button reagiert nicht update.php muss im Root liegen. Cookie-Pfad muss mit dem CMS-Pfad übereinstimmen (SITE_URL). Tabelle varient_post_likes muss existieren. 2FA-Code kommt nicht an Mail-Konfiguration prüfen. Spam-Ordner prüfen. Code ist 10 Minuten gültig — bei Ablauf "Code erneut senden" klicken. Datum-Picker für geplante Veröffentlichung nicht sichtbar Status auf "Published" setzen — der Picker erscheint automatisch per JavaScript. Mediathek zeigt keine Videos/Audios admin/media.php muss aktuell sein (Version 1.2.0). Dateitypen: MP4, WEBM, MOV, MP3, WAV, OGG, M4A. Suche findet nichts Mindestens 2 Zeichen eingeben. Tabelle varient_posts muss status='published' Einträge haben. $ is not defined (JavaScript) jQuery fehlt. In create.php / edit.php muss jQuery vor Select2 geladen sein. 20. Changelog Version 1.2.0 — Neuerungen • Volltextsuche (search.php) — Titel, Content, Excerpt, Kategorie mit Highlight • Druckansicht / PDF-Export (print.php) — sauberes Layout ohne UI • Autor-Profilseite (profile.php) — öffentlich, mit Statistiken und Artikel-Grid • Geplante Veröffentlichung — Datum-Picker im Post-Erstellen/Bearbeiten • Lesezeit-Anzeige auf Post-Karten und Detailseite • Sitemap.xml automatisch generiert (sitemap.php) • robots.txt dynamisch mit Sitemap-URL (robots.php) • Kanonische URLs auf allen Seiten • Kommentar-Benachrichtigung per Email bei Antworten • Top-Posts im Dashboard (Top 5 Views + Top 5 Likes) • Mediathek zeigt Bilder, Videos und Audio mit Typ-Filter • Suchfeld direkt im Header auf allen Seiten Version 1.1.0 • Featured-Badge auf Post-Karten • Herz-Bewertungssystem (Cookie-basiert, AJAX) • Besucher-Statistik im Footer • Automatisches Header-Bild von Picsum Photos • Tag-Wolke mit dynamischer Schriftgröße • Banner-Verwaltung (2× 468×60 px) • Newsletter DSGVO Double-Opt-In • RSS-Feed mit Kategorie-Filter • 2-Faktor-Authentifizierung (6-stellig per Email) • PHP 8.4 Kompatibilität Version 1.0.0 — Initial Release • User-System mit 4 Rollen, Post-System mit 4 Typen • Quill.js Editor, Kategorien & Tags, Kommentar-Moderation • Dark Mode, SEO Meta, CSRF-Schutz, Passwort-Reset • 4-Schritt-Installations-Wizard, Bootstrap 5
# WikiDirectory Hybrid Web-Verzeichnis & Wiki-System für Europa mit vollständiger Moderation. https://scripte-pay.de/produktdetails/hybrid-web-verzeichnis-wiki-system Demo: https://scripte-store.de/wikiped/index.php ## Features **Hybrid-System:** - 🔗 Web-Verzeichnis (DMOZ-Style) – Kategorien + Website-Links - 📄 Wiki-Artikel (Wikipedia-Style) – Artikel mit Text - 📂 Hierarchische Kategorien - 🏷️ Tags/Schlagworte **Moderation:** - Jeder kann Einträge vorschlagen (auch ohne Login) - Admin genehmigt vor Veröffentlichung - Kommentare werden moderiert - Revisions-Historie (geplant) **Community:** - 👍👎 Voting-System - 💬 Kommentare - 📊 View-Counter - 🌍 Länder-Filter (Europa) **Weitere Features:** - 🔍 Suche & Filter - 📰 RSS Feed - 🎯 SQLite-Datenbank - 📱 Mobile-optimiert ## Installation ### 1. Dateien hochladen Alle Dateien auf den Webserver. ### 2. Fertig! SQLite-Datenbank wird beim ersten Aufruf automatisch erstellt. ### 3. Login ``` URL: https://deine-domain.de/wikidirectory/ Admin-Login: admin / admin123 ``` **WICHTIG:** Admin-Passwort nach erstem Login ändern! ## Verwendung ### Besucher (Nicht eingeloggt) - Einträge durchsuchen - Einträge vorschlagen (werden moderiert) - Kommentare schreiben (werden moderiert) - Voten (👍👎) ### Registrierte User - Alles wie Besucher - Username wird gespeichert ### Admin/Moderator - Einträge freigeben/ablehnen - Kommentare freigeben/löschen - Kategorien verwalten - Einträge sofort veröffentlichen (ohne Moderation) ## Datei-Struktur ``` wikidirectory/ ├── init.php # SQLite Setup + Helper-Funktionen ├── config.php # Konfiguration ├── index.php # Hauptseite (Liste) ├── entry.php # Entry-Detail ├── submit.php # Eintrag erstellen ├── admin.php # Admin-Panel (Moderation) ├── login.php # Login ├── register.php # Registrierung ├── logout.php # Logout ├── rss.php # RSS Feed ├── wikidirectory.db # SQLite DB (auto-erstellt) └── README.md ``` ## Datenbank-Schema **users** – Benutzer (user, moderator, admin) **categories** – Kategorien (hierarchisch) **entries** – Einträge (Links + Artikel) **tags** – Schlagworte **entry_tags** – Verknüpfung Entries <-> Tags **votes** – Voting (IP-basiert) **comments** – Kommentare **revisions** – Änderungs-Historie (geplant) ## Moderation-Workflow 1. User erstellt Eintrag → Status: `pending` 2. Admin sieht in Admin-Panel 3. Admin genehmigt → Status: `approved` → Sichtbar 4. Admin lehnt ab → Status: `rejected` → Nicht sichtbar Gleiches für Kommentare. ## Kategorien Standard-Kategorien: - 🇩🇪 Deutschland - 💻 Webentwicklung - 🛒 E-Commerce - 📰 Nachrichten - 🇦🇹 Österreich - 🇨🇭 Schweiz - ⚙️ Tech & Software - 📚 Bildung - ✈️ Reisen Können über Admin-Panel erweitert werden. ## Europa-Länder 24 Länder vorkonfiguriert: DE, AT, CH, LI, LU, BE, NL, FR, IT, ES, PT, PL, CZ, SK, HU, RO, BG, HR, SI, GR, SE, DK, NO, FI ## Features (Geplant) - [ ] Revisions-Historie anzeigen - [ ] Kategorie-Verwaltung im Admin - [ ] User-Profile - [ ] Erweiterte Suche - [ ] Markdown-Support für Artikel - [ ] Bilder-Upload - [ ] Mehrsprachigkeit ## Sicherheit ✓ Password Hashing (bcrypt) ✓ SQL Injection Prevention (Prepared Statements) ✓ XSS Protection (htmlspecialchars) ✓ CSRF-Protection (Session-based) ✓ Moderation-System ✓ IP-basiertes Voting (1x pro IP pro Entry) ## Performance - SQLite (keine MySQL nötig) - Indexes auf wichtigen Feldern - Lazy Loading möglich - Caching-ready ## Lizenz Privates Projekt – alle Rechte vorbehalten.
# 📡 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
# 📡 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
# Generator Suite Eine umfassende Sammlung von **15 Web-Generatoren** – ohne Anmeldung, einfach nutzen. ## Features **15 Generatoren:** 1. 📰 **RSS Feed Generator** – Erstelle RSS 2.0 Feeds 2. 🏷️ **Meta Tags Generator** – SEO Meta Tags + Open Graph + Twitter Cards 3. 🎨 **CSS Generator** – Button Styles mit Live-Vorschau 4. 🗺️ **Sitemap Generator** – XML Sitemaps für SEO 5. 🔐 **.htaccess Generator** – HTTPS, WWW, GZIP, Caching, etc. 6. 🔑 **Passwort Generator** – Sichere Passwörter mit Konfiguration 7. 📱 **QR Code Generator** – QR Codes für URLs/Text 8. 🎨 **Farbpaletten Generator** – Monochrome, Analogous, Complementary, Triadic 9. 📏 **Lorem Ipsum Generator** – Platzhalter-Text (Wörter, Sätze, Paragraphen) 10. 🔗 **Base64 Encoder/Decoder** – Encode & Decode 11. 🔤 **Slug Generator** – URL-freundliche Slugs aus Text 12. 📐 **Image Placeholder Generator** – Placeholder-Bilder mit via.placeholder.com 13. 🎭 **Favicon Generator** – HTML-Links für Favicons 14. 📧 **Mailto Link Generator** – E-Mail-Links mit CC, BCC, Betreff 15. 🔢 **Hash Generator** – MD5, SHA-1, SHA-256, SHA-512 **Technologie:** - Vanilla JavaScript (kein jQuery) - SQLite für History (letzte 10 pro Generator) - Kein Login erforderlich - Mobile-optimiert - Clean & Modern Design ## Installation ### 1. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen. ### 2. Permissions setzen ```bash chmod 755 . chmod 666 generators.db # Wenn die Datei existiert ``` Die SQLite-Datenbank wird beim ersten Aufruf automatisch angelegt. ### 3. Fertig! ``` https://deine-domain.de/generators/ ``` ## Verwendung ### RSS Feed Generator 1. **Titel**, **Beschreibung**, **Link** und **Sprache** eingeben 2. **RSS generieren** klicken 3. XML kopieren und als `feed.xml` speichern ### Meta Tags Generator 1. **Title** (max. 60 Zeichen), **Description** (max. 160 Zeichen) eingeben 2. Optional: **Keywords**, **Author**, **Canonical URL**, **OG Image** 3. **Meta Tags generieren** klicken 4. Code in `<head>` einfügen ### CSS Generator 1. **Button Text** eingeben 2. **Farben** wählen (BG & Text) 3. **Border Radius** und **Padding** einstellen 4. Live-Vorschau anschauen 5. **CSS generieren** → Code kopieren ### Sitemap Generator 1. **URLs** eingeben (eine pro Zeile) 2. **Change Frequency** wählen (daily, weekly, monthly, yearly) 3. **Priority** wählen (0.5, 0.8, 1.0) 4. **Sitemap generieren** → XML als `sitemap.xml` speichern ### .htaccess Generator 1. Gewünschte Features auswählen: - HTTPS Redirect - WWW erzwingen - GZIP Compression - Browser Caching - Directory Listing verbieten 2. Optional: Custom 404 Seite 3. **.htaccess generieren** → Als `.htaccess` speichern ### Passwort Generator 1. **Länge** einstellen (8-64 Zeichen) 2. **Zeichen-Typen** wählen (Groß, Klein, Zahlen, Sonderzeichen) 3. **Anzahl** wählen (1-20 Passwörter) 4. **Passwörter generieren** ### QR Code Generator 1. **Text oder URL** eingeben 2. **Größe** wählen (200-500px) 3. **QR Code generieren** 4. Rechtsklick → Bild speichern ### Farbpaletten Generator 1. **Basis Farbe** wählen 2. **Typ** auswählen: - **Monochrome**: Verschiedene Helligkeiten - **Analogous**: Benachbarte Farben - **Complementary**: Gegenüberliegende Farben - **Triadic**: Gleichmäßig verteilte Farben 3. **Palette generieren** → Farbe klicken zum Kopieren ### Lorem Ipsum Generator 1. **Typ** wählen (Paragraphen, Sätze, Wörter) 2. **Anzahl** eingeben 3. **Text generieren** ### Base64 Encoder/Decoder 1. Text im **Input** eingeben 2. **→ Encode** für Kodierung 3. **← Decode** für Dekodierung ### Slug Generator (NEU!) 1. **Text** eingeben (z.B. \"Mein toller Blog Artikel 2024!\") 2. Optionen wählen: - Kleinbuchstaben - Bindestriche statt Leerzeichen - Sonderzeichen entfernen 3. **Slug generieren** → Ergebnis: \"mein-toller-blog-artikel-2024\" ### Image Placeholder Generator (NEU!) 1. **Breite** und **Höhe** eingeben 2. **Farben** wählen (BG & Text) 3. Optional: **Custom Text** 4. **Format** wählen (png, jpg, gif, webp) 5. **Placeholder generieren** → HTML & URL kopieren ### Favicon Generator (NEU!) 1. **Favicon-Pfade** eingeben (Standard: /favicon.ico, /favicon-32x32.png, etc.) 2. **Theme Color** wählen 3. **Favicon Links generieren** → HTML in `<head>` einfügen ### Mailto Link Generator (NEU!) 1. **E-Mail Adresse** eingeben 2. Optional: **CC**, **BCC**, **Betreff**, **Nachricht** 3. **Mailto Link generieren** → HTML-Link kopieren oder testen ### Hash Generator (NEU!) 1. **Text** eingeben 2. **Algorithmus** wählen (MD5, SHA-1, SHA-256, SHA-512) 3. **Hash generieren** → Hash wird im Browser berechnet ## Technische Details **Stack:** - PHP 8.0+ (nur für SQLite History) - SQLite3 - Vanilla JavaScript - CSS3 - SubtleCrypto API (für SHA-Hashes) **Datei-Struktur:** ``` generators/ ├── index.php # Hauptseite (19KB) ├── init.php # SQLite Setup (1.3KB) ├── generators.js # JavaScript Logik (jetzt ~16KB mit neuen Funktionen) ├── generators.db # SQLite Datenbank (wird auto-erstellt) └── README.md # Diese Datei ``` **Browser-Support:** - Chrome 90+ - Firefox 88+ - Safari 14+ - Edge 90+ ## Externe APIs - **QR Code**: api.qrserver.com (kostenlos, kein API-Key nötig) - **Image Placeholder**: via.placeholder.com (kostenlos, kein API-Key nötig) ## Sicherheit ✓ Alle Generatoren arbeiten clientseitig (JavaScript) ✓ Keine Daten werden an externe Server gesendet (außer QR/Placeholder APIs) ✓ Hashes werden im Browser berechnet (SubtleCrypto API) ✓ SQLite History ist optional und lokal ✓ Keine Tracking-Cookies ## Anpassungen **Design ändern:** CSS-Variablen in `index.php` bearbeiten: ```css :root { --primary: #6366f1; /* Primärfarbe */ --accent: #ec4899; /* Akzentfarbe */ --bg: #fafafa; /* Hintergrund */ } ``` **Weitere Generatoren hinzufügen:** 1. Tab in `<div class=\"nav-tabs\">` hinzufügen 2. Generator-HTML in `<div class=\"generator\" id=\"gen-NAME\">` erstellen 3. JavaScript-Funktion in `generators.js` hinzufügen ## Changelog **v2.0 (2024-02-16)** - ➕ 5 neue Generatoren: Slug, Placeholder, Favicon, Mailto, Hash - ✨ Jetzt 15 Generatoren total - 🎨 MD5-Implementation für Legacy-Support - 📱 Verbesserte Mobile-Optimierung **v1.0 (2024-02-16)** - 🚀 Initial Release mit 10 Generatoren ## Lizenz Privates Projekt – alle Rechte vorbehalten.