{
    "version": "https://jsonfeed.org/version/1.1",
    "title": "Daniel Hüsken Blog",
    "home_page_url": "https://danielhuesken.de",
    "feed_url": "https://danielhuesken.de/feed.json",
    "description": "Digital Engineer. Versicherungsmakler. Feuerwehrmann.",
    "icon": "https://danielhuesken.de/images/favicon/danielhuesken-512x512.webp",
    "favicon": "https://danielhuesken.de/images/favicon/danielhuesken-64x64.webp",
    "authors": [
        {
            "name": "Daniel Hüsken",
            "url": "https://danielhuesken.de",
            "avatar": "https://danielhuesken.de/images/danielhuesken.webp"
        }
    ],
    "items": [
        {
            "id": "https://danielhuesken.de/whatsapp-festnetz-einrichten/",
            "url": "https://danielhuesken.de/whatsapp-festnetz-einrichten/",
            "title": "WhatsApp mit Festnetznummer nutzen: So funktioniert die Einrichtung",
            "summary": "Möchtest du WhatsApp mit deiner Festnetznummer nutzen? Das ist besonders für Unternehmen oder als Zweitnummer praktisch. In dieser Schritt-für-Schritt-Anleitung zeige ich dir den Trick mit der Anruf-Aktivierung und gebe Tipps zur Problembehebung.",
            "content_html": "<h1>WhatsApp mit Festnetznummer nutzen: So funktioniert die Einrichtung</h1>\n<p>Es ist ein weit verbreiteter Irrglaube, dass man für WhatsApp zwingend eine Mobilfunknummer benötigt. Tatsächlich lässt sich der Messenger auch hervorragend mit einer Festnetznummer verknüpfen. Das ist besonders praktisch, wenn man geschäftlich unter der bekannten Büronummer erreichbar sein möchte, ohne seine private Handynummer preiszugeben.</p>\n<p>Ich nutze dieses Setup selbst für meine Projekte <a href=\"https://huesken.it\">huesken.it</a> und <a href=\"https://makler-huesken.de\">makler-huesken.de</a>, um professionell erreichbar zu sein, während die private Kommunikation getrennt bleibt.</p>\n<p>Hier erfährst du Schritt für Schritt, wie die Einrichtung funktioniert.</p>\n<h2>Die Schritt-für-Schritt-Anleitung</h2>\n<ol>\n<li><strong>Nummer eingeben:</strong> Öffne WhatsApp auf deinem Smartphone und starte die Einrichtung (oder nutze in den Einstellungen die Funktion &quot;Nummer ändern&quot;). Gib dort deine vollständige Festnetznummer ein.</li>\n<li><strong>SMS-Versuch abwarten:</strong> WhatsApp versucht nun standardmäßig, eine SMS mit dem Aktivierungscode zu schicken. Da Festnetzanschlüsse in der Regel keine SMS empfangen können, wird dieser Versuch fehlschlagen.</li>\n<li><strong>Geduld haben:</strong> Du musst nun warten, bis der Countdown für die SMS (meistens 1 bis 2 Minuten) abgelaufen ist. Während dieser Zeit kannst du keine andere Option wählen.</li>\n<li><strong>Der Trick – &quot;Mich anrufen&quot;:</strong> Sobald der Countdown abgelaufen ist, wird die Schaltfläche „Mich anrufen“ aktiv. Tippe darauf.</li>\n<li><strong>Code eingeben:</strong> Du erhältst nun einen automatisierten Anruf auf deinem Festnetztelefon. Eine Computerstimme liest dir einen 6-stelligen Code vor. Diesen tippst du einfach in die WhatsApp-App auf deinem Handy ein – fertig!</li>\n</ol>\n<h2>Wenn die Aktivierung hakt</h2>\n<p>Manchmal erscheint die Fehlermeldung, dass der Anruf derzeit nicht möglich ist. Meistens liegt das an einem dieser beiden Gründe:</p>\n<ul>\n<li><strong>Spamschutz:</strong> Einige Router (wie die FritzBox) oder Festnetzanbieter blockieren automatisierte Anrufe. Prüfe ggf. deine Einstellungen oder die Anrufliste.</li>\n<li><strong>Wartezeit:</strong> WhatsApp hat manchmal Server-Verzögerungen. Oft hilft es, die App komplett zu schließen, ein bis zwei Stunden zu warten und es dann direkt erneut über die Anruf-Option zu versuchen.</li>\n</ul>\n<h2>Mein Extra-Tipp: WhatsApp Business</h2>\n<p>Falls du die Festnetznummer zusätzlich zu deiner normalen Handynummer auf demselben Gerät nutzen möchtest, empfehle ich dir die App <strong>„WhatsApp Business“</strong>. </p>\n<p>Sie funktioniert genauso wie das normale WhatsApp, lässt sich aber parallel installieren. WhatsApp Business ist zudem offiziell für die Nutzung mit Festnetznummern ausgelegt und bietet zusätzliche Funktionen wie automatisierte Antworten oder ein Unternehmensprofil.</p>\n",
            "date_published": "2026-05-07T11:00:00.000Z",
            "tags": [
                "WhatsApp",
                "Tutorial",
                "Festnetz",
                "Kommunikation"
            ],
            "image": "https://danielhuesken.de/assets/whatsapp-festnetz-einrichten.webp"
        },
        {
            "id": "https://danielhuesken.de/php-in-vite-nutzen/",
            "url": "https://danielhuesken.de/php-in-vite-nutzen/",
            "title": "PHP in Vite nutzen: So integrierst du Backend-Logik in dein Frontend-Tooling",
            "summary": "Vite ist bekannt für seine Geschwindigkeit im Frontend, aber was ist mit PHP? In diesem Artikel zeige ich dir, wie du einen lokalen PHP-Server direkt in Vite einbindest und Anfragen per Proxy weiterleitest – genau so, wie wir es in diesem Projekt umgesetzt haben.",
            "content_html": "<h1>PHP in Vite nutzen: So integrierst du Backend-Logik in dein Frontend-Tooling</h1>\n<p>Vite hat die Frontend-Entwicklung revolutioniert. Es ist extrem schnell, bietet Hot Module Replacement (HMR) out-of-the-box und eine großartige Developer Experience. Doch viele Projekte, gerade im Bereich WordPress oder klassischer Webentwicklung, setzen nach wie vor auf PHP.</p>\n<p>In diesem Artikel schauen wir uns an, wie wir PHP nahtlos in den Vite-Entwicklungsprozess integrieren können, indem wir einen eigenen Vite-Plugin schreiben und den internen Proxy nutzen.</p>\n<h2>Die Herausforderung</h2>\n<p>Vite ist ein statischer File-Server für moderne JavaScript-Projekte. PHP hingegen muss serverseitig interpretiert werden. Wenn wir <code>.php</code> Dateien in unserem Projekt haben, weiß Vite standardmäßig nicht, wie es damit umgehen soll.</p>\n<h2>Die Lösung: Ein PHP-Server-Plugin</h2>\n<p>Wir können Vite erweitern, indem wir während des Entwicklungsstarts automatisch einen lokalen PHP-Server mit <code>php -S</code> starten. Hier ist die Konfiguration, die wir in diesem Projekt verwenden:</p>\n<h3>1. Das PHP-Server Plugin</h3>\n<p>In der <code>vite.config.js</code> definieren wir eine Funktion, die den PHP-Server startet:</p>\n<pre><code class=\"language-javascript\">const phpServerPlugin = () =&gt; ({\n    name: &#39;php-server&#39;,\n    configureServer(server) {\n        const publicDir = resolve(__dirname, &#39;public&#39;);\n\n        const php = spawn(&#39;php&#39;, [&#39;-S&#39;, &#39;127.0.0.1:8002&#39;, &#39;-t&#39;, publicDir], {\n            stdio: &#39;inherit&#39;,\n            shell: true\n        });\n\n        server.httpServer.on(&#39;close&#39;, () =&gt; {\n            php.kill();\n        });\n    }\n});\n</code></pre>\n<p>Dieses Plugin nutzt <code>spawn</code> aus dem <code>node:child_process</code> Modul, um einen PHP-Server auf Port 8002 zu starten. Das Root-Verzeichnis (<code>-t</code>) ist unser <code>public</code>-Ordner. Sobald der Vite-Server geschlossen wird, beenden wir auch den PHP-Prozess.</p>\n<h3>2. Die Proxy-Konfiguration</h3>\n<p>Damit Vite weiß, dass Anfragen an PHP-Dateien an unseren neuen Server weitergeleitet werden sollen, nutzen wir die <code>server.proxy</code> Option:</p>\n<pre><code class=\"language-javascript\">export default defineConfig({\n    plugins: [\n        // ... andere plugins\n        phpServerPlugin()\n    ],\n    server: {\n        proxy: {\n            &#39;^/.*\\\\.php$&#39;: &#39;http://127.0.0.1:8002&#39;\n        }\n    }\n});\n</code></pre>\n<p>Mit diesem RegEx werden alle Anfragen, die auf <code>.php</code> enden, transparent an <code>http://127.0.0.1:8002</code> durchgereicht.</p>\n<h2>Warum dieser Ansatz?</h2>\n<p>Dieser Workflow bietet mehrere Vorteile:</p>\n<ol>\n<li><strong>Ein Befehl:</strong> Mit <code>npm run dev</code> startest du sowohl Vite als auch PHP.</li>\n<li><strong>Kein CORS-Stress:</strong> Da alles über den Vite-Port läuft, gibt es keine Cross-Origin Probleme.</li>\n<li><strong>Flexibilität:</strong> Du kannst PHP für dynamische Assets, Proxy-Skripte oder kleine Backend-Funktionen nutzen, während du die volle Power von Vite für dein CSS und JS behältst.</li>\n</ol>\n<h2>Fazit</h2>\n<p>Die Integration von PHP in Vite ist einfacher als man denkt. Durch die Kombination eines kleinen Plugins mit der Proxy-Funktionalität von Vite erhältst du eine moderne Entwicklungsumgebung, ohne auf bewährte Backend-Technologien verzichten zu müssen.</p>\n",
            "date_published": "2026-05-07T10:00:00.000Z",
            "tags": [
                "PHP",
                "Vite",
                "Development",
                "Tooling"
            ],
            "image": "https://danielhuesken.de/assets/php-in-vite-nutzen.webp"
        },
        {
            "id": "https://danielhuesken.de/digital-engineering-ki-infrastruktur-huesken-it/",
            "url": "https://danielhuesken.de/digital-engineering-ki-infrastruktur-huesken-it/",
            "title": "Digital Engineering: Warum WordPress, WooCommerce und KI meine Basis bilden",
            "summary": "Schon lange bevor ich mein zweites Standbein in der Versicherungswelt aufbaute, war huesken.it meine Heimat. Erfahre, wie jahrelange WordPress-Expertise und ein frühes Interesse an KI das Fundament für mein Digital Engineering bilden.",
            "content_html": "<h1>Digital Engineering: Warum WordPress, WooCommerce und KI meine Basis bilden</h1>\n<p>In meinem Blog habe ich zuletzt viel über meine neue Rolle als Versicherungsmakler geschrieben. Doch heute möchte ich den Blick auf das Fundament lenken, das schon viel länger besteht: <strong>huesken.it</strong>. Lange bevor ich mich entschied, die Brücke zur Versicherungswelt zu schlagen, war und ist huesken.it die zentrale Anlaufstelle für professionelles Digital Engineering.</p>\n<p>Die Reise von <a href=\"https://huesken.it\">huesken.it</a> begann nicht erst gestern. Sie ist das Ergebnis von über zwei Jahrzehnten Leidenschaft für das Internet, Softwarearchitektur und die ständige Suche nach technischer Exzellenz.</p>\n<h2>WordPress &amp; WooCommerce: Expertise aus über 700.000 Installationen</h2>\n<p>Einer der wichtigsten Pfeiler meiner Arbeit ist seit jeher das WordPress-Ökosystem. Ich bin nicht einfach nur ein Anwender; ich bin ein <strong>Zend Certified Engineer (PHP)</strong> und <strong>Advanced Professional WordPress Developer</strong>. </p>\n<p>Mein tiefstes Verständnis für WordPress habe ich durch die Entwicklung von <strong>BackWPup</strong> unter Beweis gestellt. Dieses Plugin, das heute auf über 700.000 aktiven Websites weltweit läuft, war mein &quot;Meisterstück&quot; im Bereich Skalierbarkeit und Zuverlässigkeit. Wenn man Software schreibt, auf die sich Hunderttausende Administratoren verlassen, lernt man, worauf es wirklich ankommt: Performance, Sicherheit und Wartbarkeit.</p>\n<p>Diese Expertise bringe ich heute in komplexe <strong>WooCommerce</strong>-Projekte ein. E-Commerce im Jahr 2026 ist weit mehr als nur ein Shop. Es geht um nahtlose API-Integrationen, individuelle Checkout-Prozesse und Architekturen, die auch bei hohem Traffic nicht in die Knie gehen.</p>\n<h2>KI: Ein Gründungspfeiler, kein Trend</h2>\n<p>Ein weiterer entscheidender Gründungspunkt von <a href=\"https://huesken.it\">huesken.it</a> war mein frühes und tiefes Interesse an <strong>Künstlicher Intelligenz</strong>. Während viele das Thema erst seit kurzem auf dem Schirm haben, war die Analyse und Integration von KI-Systemen von Anfang an ein Teil meiner Vision für huesken.it.</p>\n<p>Ich habe mich frühzeitig als <strong>IHK-zertifizierter KI-Manager</strong> qualifiziert, um Unternehmen nicht nur theoretisch, sondern ganz praktisch bei der Transformation zu begleiten. Bei huesken.it geht es nicht darum, &quot;KI um der KI willen&quot; einzusetzen. Es geht darum, wie wir LLMs (Large Language Models) und Automatisierung nutzen können, um echte Geschäftsprozesse effizienter und datenschutzkonform zu gestalten.</p>\n<h2>Ganzheitliches Engineering: Web. KI. Infrastruktur.</h2>\n<p>Die Philosophie hinter <a href=\"https://huesken.it\">huesken.it</a> ist ganzheitlich. Ich sehe Webentwicklung, KI-Strategie und die darunterliegende Infrastruktur als eine Einheit. Mein Hintergrund als <strong>Microsoft Certified System Administrator (MCSA)</strong> stellt sicher, dass die Software, die wir bauen, auf einem sicheren und hochverfügbaren Fundament steht.</p>\n<p>In meiner täglichen Arbeit nutze ich modernste Methoden wie <strong>&quot;Vibe Coding&quot;</strong>. Das bedeutet, dass ich die Geschwindigkeit und Präzision von KI-gestützter Entwicklung mit meiner jahrzehntelangen Erfahrung als Architekt kombiniere. Das Ergebnis ist Digital Engineering auf einem Level, das sowohl handwerklich als auch innovativ neue Maßstäbe setzt.</p>\n<h2>Dein Partner für komplexe digitale Projekte</h2>\n<p>huesken.it steht für Beständigkeit und Innovation gleichermaßen. Ob es um eine komplexe WordPress-Infrastruktur, einen hochspezialisierten WooCommerce-Shop oder die strategische Integration von KI geht: Ich biete dir Expertise ohne Umwege.</p>\n<p>Besuche mich auf <a href=\"https://huesken.it\">huesken.it</a> und lass uns gemeinsam schauen, wie wir deine digitale Vision mit der Erfahrung aus Millionen von Codezeilen realisieren können.</p>\n",
            "date_published": "2026-05-03T14:00:00.000Z",
            "tags": [
                "IT",
                "AI",
                "WordPress",
                "WooCommerce",
                "Engineering"
            ],
            "image": "https://danielhuesken.de/assets/entwickler-versicherungsmakler-dual-career.webp"
        },
        {
            "id": "https://danielhuesken.de/neustart-als-versicherungsmakler-ki-etf/",
            "url": "https://danielhuesken.de/neustart-als-versicherungsmakler-ki-etf/",
            "title": "Mein zweites Standbein: Warum ich als Entwickler jetzt auch Versicherungsmakler bin",
            "summary": "Programmieren ist meine Leidenschaft, aber die Welt verändert sich. Erfahre, warum ich mir mit makler-huesken.de ein zweites Standbein als Versicherungsmakler aufbaue, wie KI mein Denken beeinflusst und warum ich weiterhin beidem treu bleibe.",
            "content_html": "<h1>Mein zweites Standbein: Warum ich als Entwickler jetzt auch Versicherungsmakler bin</h1>\n<p>Hallo zusammen! Wer mich kennt, weiß: Mein Herz schlägt für Code. Seit Jahrzehnten bewege ich mich in der Welt der Softwareentwicklung, habe Projekte wie <a href=\"https://backwpup.com/\">BackWPup</a> mit aufgebaut und liebe es, technische Probleme zu lösen. Das wird auch so bleiben! Aber heute möchte ich über eine wichtige Ergänzung in meinem Berufsleben sprechen.</p>\n<p>Ich habe mich dazu entschieden, wieder als <strong>Versicherungsmakler</strong> aktiv zu werden – nicht statt des Programmierens, sondern <strong>zusätzlich</strong>. Warum ich diesen Weg gehe, was die Künstliche Intelligenz (KI) damit zu tun hat und warum Diversifikation für mich das Wort der Stunde ist, erfahrt ihr in diesem Artikel.</p>\n<h2>Die Welt der IT im Wandel: Der KI-Faktor</h2>\n<p>Wir erleben gerade eine der größten Umwälzungen in der Geschichte der Softwareentwicklung. Als jemand, der täglich mit KI-Tools arbeitet, sehe ich die enorme Effizienzsteigerung. Aufgaben, für die wir früher Tage brauchten, erledigt eine KI heute in Sekunden.</p>\n<h3>Warum ein zweites Standbein?</h3>\n<p>Man könnte meinen, das wäre der perfekte Zeitpunkt, sich voll auf IT zu konzentrieren. Doch ich sehe es anders: Die KI macht uns produktiver, aber sie verändert auch die Wertschöpfungskette. Reine Programmierleistung wird zunehmend &quot;commoditized&quot; – also zu einer austauschbaren Ware.</p>\n<p>Um für alle Eventualitäten der Zukunft gewappnet zu sein, habe ich mich entschieden, mein Wissen breit aufzustellen. Ich möchte nicht von einer einzigen Technologie oder Branche abhängig sein. Das Immobiliengeschäft und vor allem die Versicherungsbranche bieten hier einen perfekten Gegenpol: Sie sind extrem menschzentriert, rechtlich komplex und erfordern eine persönliche Haftung und Vertrauensbasis, die eine KI so schnell nicht ersetzen kann.</p>\n<h2>Versicherungsmakler: Die technologische Brücke</h2>\n<p>Vielleicht fragst du dich: &quot;Wie passt das zusammen?&quot; Für mich perfekt! Mein Hintergrund als Entwickler (&quot;Digital Engineering&quot;) ist mein größter Vorteil in der Versicherungsberatung. Ich gehe an Versicherungen heran wie an ein Systemdesign:</p>\n<ol>\n<li><strong>Analyse:</strong> Wo sind die echten Risiken?</li>\n<li><strong>Struktur:</strong> Welche Bausteine passen wirklich zusammen?</li>\n<li><strong>Transparenz:</strong> Kein &quot;Fachchinesisch&quot;, sondern klare Logik.</li>\n</ol>\n<p>Ich bin kein typischer &quot;Versicherungsfuzzi&quot;. Ich sehe mich als dein neutraler Interessenvertreter, der seine IT-Affinität nutzt, um den Markt digital und präzise für dich zu sondieren.</p>\n<h2>Die Mission &quot;Anti-Verkäufer&quot;</h2>\n<p>Ich mache das nicht, um schnell Policen zu &quot;verkaufen&quot;. Ich baue mir etwas Eigenes auf, das auf Langfristigkeit und Vertrauen basiert. Als Makler bin ich gesetzlich auf deiner Seite – nicht auf der der Versicherung. Das ist der gleiche &quot;Open Source&quot;-Gedanke, den ich in der IT liebe: Volle Transparenz und der Nutzen für den Anwender (oder in diesem Fall: den Kunden) steht an erster Stelle.</p>\n<h2>Finanzen und ETFs: Moderne Altersvorsorge statt teurer Klassik</h2>\n<p>Ein zweites Standbein aufzubauen erfordert Ressourcen. Hier hat mir meine langjährige Strategie mit ETFs (Exchange Traded Funds) geholfen. Das Kapital, das ich über Jahre am Weltmarkt aufgebaut habe, gibt mir die finanzielle Ruhe, dieses zweite Business ohne Druck aufzubauen.</p>\n<p>Diese Begeisterung für clevere, kostengünstige Geldanlage fließt auch in meine Tätigkeit als Versicherungsmakler ein. Ein entscheidender Punkt meiner Philosophie: <strong>Ich bevorzuge moderne, ETF-basierte Vorsorgelösungen gegenüber klassischen, teuren Rentenversicherungen.</strong></p>\n<p>Als Versicherungsmakler konzentriere ich mich dabei auf Versicherungslösungen, die die Power von ETFs nutzen (fondsgebundene Rentenversicherungen). Warum? Weil ich aus eigener Erfahrung weiß, wie effektiv der Vermögensaufbau über Indexfonds ist. In meiner Beratung verzichte ich nach Möglichkeit auf die typischen &quot;schwarzen Löcher&quot; der Branche – also klassische Produkte mit hohen Garantiekosten und undurchsichtigen Gebühren, die deine Rendite auffressen.</p>\n<p>Stattdessen schauen wir uns an, wie wir deine Altersvorsorge innerhalb des Versicherungsmantels so gestalten, dass sie flexibel bleibt, von der Marktentwicklung profitiert und dabei kosteneffizient ist – genau so, wie ich es für meine eigene Zukunftsplanung schätze.</p>\n<h2>Besuche mich auf Makler-Huesken.de</h2>\n<p>Für diesen Teil meiner Tätigkeit habe ich die Plattform <a href=\"https://makler-huesken.de\">makler-huesken.de</a> geschaffen. Dort findest du keine staubigen Broschüren, sondern echtes Expertenwissen.</p>\n<p>Schau dir unbedingt meine Ratgeber an, in denen ich Themen aus meiner speziellen Perspektive beleuchte:</p>\n<ul>\n<li><strong><a href=\"https://makler-huesken.de/artikel/\">Bank vs. Makler</a>:</strong> Warum Neutralität dein wichtigstes Asset ist.</li>\n<li><strong><a href=\"https://makler-huesken.de/artikel/\">Die Portal-Falle</a>:</strong> Warum Algorithmen bei Check24 &amp; Co. dich im Schadensfall oft allein lassen.</li>\n<li><strong><a href=\"https://makler-huesken.de/artikel/\">BU-Voranfrage</a>:</strong> Wie wir deine Arbeitskraft sichern, ohne deine Daten zu verbrennen.</li>\n</ul>\n<h2>Fazit: Zwei Welten, eine Vision</h2>\n<p>Ich bleibe Entwickler. Ich liebe es, Code zu schreiben. Aber ich bin jetzt auch dein Versicherungsmakler. Für mich ist das kein Widerspruch, sondern die logische Konsequenz aus einer Welt, die immer komplexer wird. Mit zwei Standbeinen bin ich flexibler, krisenfester und kann meine Fähigkeiten in zwei spannenden Bereichen voll ausspielen.</p>\n<p>Egal, ob du Fragen zu einem WordPress-Projekt hast oder wissen willst, ob deine Berufsunfähigkeitsversicherung noch zeitgemäß ist: Ich bin für dich da!</p>\n<p>Besuche mich auf <a href=\"https://makler-huesken.de\">makler-huesken.de</a> oder schreib mir hier in die Kommentare, was du von diesem dualen Weg hältst.</p>\n",
            "date_published": "2026-05-03T12:00:00.000Z",
            "tags": [
                "Lifestyle",
                "Finanzen",
                "AI",
                "Versicherung",
                "Business"
            ],
            "image": "https://danielhuesken.de/assets/entwickler-versicherungsmakler-dual-career.webp"
        },
        {
            "id": "https://danielhuesken.de/ai-prompt-frage-antwort-test/",
            "url": "https://danielhuesken.de/ai-prompt-frage-antwort-test/",
            "title": "AI Prompt: Frage-Antwort-Test",
            "summary": "Bereiten Sie sich optimal auf Ihre nächste Prüfung vor! Erfahren Sie, wie Sie mit AI-Tools wie NotebookLM und gezielten Prompts interaktive Quizze erstellen, um Ihr Wissen effektiv zu testen und zu festigen. Verbessern Sie Ihr Lernen durch sofortiges Feedback und detaillierte Lösungsansätze.",
            "content_html": "<h1>AI Prompt: Frage-Antwort-Test</h1>\n<p>Meine Frau muss sich auf eine Prüfung vorbereiten, dabei wollte ich Sie unterstützen.<br>Das Martial zur Vorbereitung lag als PDF-Datei vor und diese habe ich in <a href=\"https://notebooklm.google.com/\">NotebookLM</a> hochgeladen (Gemini Gem funktioniert auch).</p>\n<p>Mit dem vollenden Prompt habe ich erreicht, dass das LLM wie ein Quiz Fragen stellt, die Antworten prüft und bei falschen Antworten die Lösung verrät. Danach macht man mit der nächsten Frage weiter.</p>\n<pre><code>Du bist ein Prüfer für das angegebene Themengebiet.\nKannst du Fragen zu dem Wissen stellen um mich auf die Prüfung vorzubereiten?\nIch gebe die Antwort und du sagst ob sie richtig ist.\nStelle eine Frage nach der anderen.\nBei falschen Antworten gib mir die richtige Lösung und die Begründung dafür.\n</code></pre>\n",
            "date_published": "2025-02-15T20:19:00.000Z",
            "tags": [
                "AI",
                "Prompt"
            ],
            "image": "https://danielhuesken.de/assets/ai-prompt-frage-antwort-test.webp"
        },
        {
            "id": "https://danielhuesken.de/presswerk-podcast-ueber-backwpup/",
            "url": "https://danielhuesken.de/presswerk-podcast-ueber-backwpup/",
            "title": "Presswerk Podcast über BackWPup",
            "summary": "Podcast mit Daniel Hüsken zum Thema BackWPup im Presswerk.",
            "content_html": "<h1>Presswerk Podcast über BackWPup</h1>\n<p><a href=\"https://presswerk.net/podlove/file/1662/s/webplayer/pw048-daniel.mp3\"><img src=\"https://presswerk.net/podlove/image/68747470733a2f2f6d656469612e6b726175742e70726573732f70726573737765726b2f636f7665725f3330303078333030302e706e67/500/0/0/presswerk-wordpress-podcast\" alt=\"BackWPup Presswerk Podcast MP3\"></a></p>\n<p>Podcast mit mir zum Thema BackWPup im <a href=\"https://presswerk.net/pw048/\">Presswerk</a>.<br>Danke Simon für das tolle Gespräch.<br>BackWPup ist ein WordPress Backup Plugin welches ursprünglich von mir entwickelt wurde und dann an Inpsyde (jetzt Syde) verkauft wurde.<br>Syde hat das Plugin dann an <a href=\"https://www.group.one/en/news/group-one-strengthens-wordpress-commitment-with-acquisition-of-backwpup\">group.one</a> verkauft.<br>Hier noch ein alter <a href=\"https://syde.com/de/blog/teamlead-daniel-huesken/\">Artikel</a> zum mir und BackWPup bei Syde.  </p>\n",
            "date_published": "2021-07-01T11:53:00.000Z",
            "tags": [
                "Social",
                "WordPress",
                "Backup"
            ],
            "image": "https://presswerk.net/podlove/image/68747470733a2f2f6d656469612e6b726175742e70726573732f70726573737765726b2f636f7665725f3330303078333030302e706e67/500/0/0/presswerk-wordpress-podcast"
        },
        {
            "id": "https://danielhuesken.de/freies-lets-encrypt-zertifikat-all-inkl/",
            "url": "https://danielhuesken.de/freies-lets-encrypt-zertifikat-all-inkl/",
            "title": "Freies Let's Encrypt Zertifikat bei all-inkl.com einrichten",
            "summary": "Lernen Sie, wie Sie Ihren WordPress-Blog einfach von HTTP auf HTTPS umstellen, um die Sicherheit Ihrer Webseite zu erhöhen und Ihr Google-Ranking zu verbessern. Dieser Artikel führt Sie durch die notwendigen Schritte, von der Anpassung der WordPress-Einstellungen über die Aktualisierung Ihrer Datenbankinhalte bis hin zur serverseitigen Weiterleitung für eine vollständige SSL-Verschlüsselung. Sichern Sie die Datenübertragung Ihrer Webseite und bieten Sie Ihren Besuchern ein sicheres Surferlebnis.",
            "content_html": "<h1>Freies Let&#39;s Encrypt Zertifikat bei all-inkl.com einrichten</h1>\n<p>Es ist endlich so weit! <a href=\"https://all-inkl.com/PAA013BC0DBE14D\">All-inkl.com</a> unterstützt jetzt auch die Einrichtung von kostenlosen <a href=\"https://letsencrypt.org/\">Let&#39; Encrypt</a> Zertifikaten direkt aus dem KAS (Backend) heraus.</p>\n<p>Die Verbindung zur Webseite läuft dann über SSL (https://) und alle Daten sowie Passwörter werden verschlüsselt übertragen.<br>Außerdem wird hierdurch auch das Google Ranking positiv beeinflusst. Zudem gibt es seitens Google auch Pläne in Chrome unverschlüsselte Webseiten mit einer roten Kennzeichnung zu versehen, was Besucher abschrecken könnte.<br>Bei <a href=\"https://all-inkl.com/PAA013BC0DBE14D\">all-inkl.com</a> wird man für die Einrichtung mindestens das Private Plus Packet haben müssen, da dort die SSL Option inklusive ist. Oder bei den kleineren Packen kann die Option hinzugedacht werden.<br>Die Let&#39;s Encrypt Zertifikate sind aus Sicherheitsgründen nur 90 Tage gültig und werden 30 Tage vor Ablauf automatisch verlängert.</p>\n<p>Aber jetzt zur Einrichtung. Als Beispiel habe ich die Webseite meines Schwagers genommen, da ich meine schon umgestellt hatte.</p>\n<ol>\n<li><p>Im KAS anmelden und dort unter Domain oder Subdomain die Domain auswählen und bearbeiten klicken.<br><img src=\"/assets/freies-lets-encrypt-zertifikat-all-inkl-1.png\" alt=\"Domain bearbeiten\"></p>\n</li>\n<li><p>Bei SSL Schutz auf bearbeiten klicken.<br><img src=\"/assets/freies-lets-encrypt-zertifikat-all-inkl-2.png\" alt=\"Haftungsausschluss aktzentren\"></p>\n</li>\n<li><p>Den Reiter Lets&#39; Encrypt auswählen und die Check box für den Haftungsausschluss setzen und den unteren Butten anklicken.<br><img src=\"/assets/freies-lets-encrypt-zertifikat-all-inkl-3.png\" alt=\"SSL Zertifikat\"></p>\n</li>\n</ol>\n<p>Fertig.</p>\n<p>Jetzt kann man die Webseite über https:// aufrufen.</p>\n<p>Bei der Einrichtung hatte ich bei einigen Domains eine Fehlermeldung, die besagte, dass die Domain nicht erreicht werden konnte und man die Einstellungen überprüfen sollte. Die Einstellungen sind bei mir allerdings richtig gewesen. Meistens funktionierte es nach ein paar weiteren Versuchen, die man allerdings erst mit einer Verzögerung von ca. 10 Minuten durchführen kann.<br>Den Haftungsausschluss muss man bestätigen, weil Let&#39; Encrypt immer noch im Beta status ist.</p>\n<p><img src=\"https://vg02.met.vgwort.de/na/725e81898ff44414b5d697f74de6b1fb\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2016-03-25T15:14:00.000Z",
            "tags": [
                "IT",
                "https",
                "ssl",
                "Zertifikart",
                "all-inkl"
            ],
            "image": "https://danielhuesken.de/assets/freies-lets-encrypt-zertifikat-all-inkl-1.png"
        },
        {
            "id": "https://danielhuesken.de/wordpress-blog-von-http-auf-https-umstellen/",
            "url": "https://danielhuesken.de/wordpress-blog-von-http-auf-https-umstellen/",
            "title": "WordPress Blog von http auf https umstellen",
            "summary": "Lernen Sie, wie Sie Ihren WordPress-Blog einfach von HTTP auf HTTPS umstellen, um die Sicherheit Ihrer Webseite zu erhöhen und Ihr Google-Ranking zu verbessern. Dieser Artikel führt Sie durch die notwendigen Schritte, von der Anpassung der WordPress-Einstellungen über die Aktualisierung Ihrer Datenbankinhalte bis hin zur serverseitigen Weiterleitung für eine vollständige SSL-Verschlüsselung. Sichern Sie die Datenübertragung Ihrer Webseite und bieten Sie Ihren Besuchern ein sicheres Surferlebnis.",
            "content_html": "<h1>WordPress Blog von http auf https umstellen</h1>\n<p>Hier möchte ich kurz beschreiben, wie man seinen WordPress Blog von <code>http://</code> auf <code>https://</code> umstellen kann. Voraussetzung ist, dass für die Blogdomain bereits ein Zertifikat eingerichtet ist. Also ist die Domain schon unter <a href=\"https://domain.tld\">https://domain.tld</a> erreichbar. Die Website, die ich hier für die Umstellung nehme, ist die von meinem Schwager, da ich meine bereits umgestellt habe.</p>\n<p>Es wird nicht nur das Backend umgestellt, sondern die ganze Webseite.<br>Deshalb müssen auch keine Konstanten in der wp-config.php definiert werden.<br>Durch das Umstellen der ganzen Webseite wird sich das positiv auf das Google Ranking auswirken und auch Besuchern eine höhere Sicherheit angezeigt. Natürlich kommt hinzu, dass keine Daten mehr unverschlüsselt übertragen werden, was ja nicht nur bei Shops interessant ist.</p>\n<p>Zur Umstellung:</p>\n<p>Im Backend unter &quot;Einstellungen &gt; Allgemein&quot; die URLs von <code>http://domin.tld</code> auf <code>https://domain.tld</code> ändern und Speichern. Danach wieder Neuanmelden.<br>Falls die Felder ausgegraut sind, habt ihr diese in der wp-config.php definiert und müsst sie dort ändern.</p>\n<p><img src=\"/assets/wordpress-blog-von-http-auf-https-umstellen-1.png\" alt=\"WordPress-Adresse\"></p>\n<p>Eigentlich war das schon das Wesentliche. Allerdings müssen wir jetzt noch den bestehenden Content anpassen. Dies machen wir mittels Search&amp;Replace in der Datenbank.</p>\n<p>Ich verwende dafür, da es sich für mich bewährt, das <a href=\"https://de.wordpress.org/plugins/better-search-replace/\">Better Search Replace Plugin</a>. Also das Plugin installieren und Aktivieren.</p>\n<p><img src=\"/assets/wordpress-blog-von-http-auf-https-umstellen-2.webp\" alt=\"Plugin Liste\"></p>\n<p>Dann unter &quot;Werkzeuge &gt; Better Search Replace&quot; öffnen. Bei &quot;Suchen nach&quot; die Alte Blog-URL eintragen und bei &quot;Ersetzen durch&quot; die gleiche URL nur mit https. Bitte immer die vollständige Blog-URL verwenden, da es sonst zu Problemen kommen kann.<br>Danach alle Tabellen auswählen und den Haken bei &quot;Auch GUIDs ersetzen&quot; setzen. Es kann nach Wunsch auch erst ein Testlauf gemacht werden. Damit die Änderungen endgültig durchgeführt werden, muss der Haken in jedem Fall entfernt werden.<br>Man sollte vorher natürlich seine Datenbank sichern!</p>\n<p><img src=\"/assets/wordpress-blog-von-http-auf-https-umstellen-3.png\" alt=\"Suchen/Ersetzen\"></p>\n<p>Nachdem die Änderungen durchgeführt wurden, erscheint folgende Meldung</p>\n<p><img src=\"/assets/wordpress-blog-von-http-auf-https-umstellen-4.png\" alt=\"Meldung\"></p>\n<p>Damit sollten jetzt alle Blog-URLs von http auf https umgestellt sein und das Plugin kann wieder deaktiviert und deinstalliert werden.</p>\n<p>In Chrome sollte die Webseite dann mit einem grünen Schloss angezeigt werden.<br>Wenn nicht alle Inhalte mittels https ausgeliefert werden, ist das Schloss grau und nicht grün. Man erhält in der URL-Leiste einen Hinweis. Wenn das der Fall ist, muss man noch in seinen Anpassungen (Widgets, PHP Dateien, usw.) suchen, ob dort noch URLs enthalten sind, die nicht mit https anfangen und diese umstellen.</p>\n<p><img src=\"/assets/wordpress-blog-von-http-auf-https-umstellen-5.webp\" alt=\"Webseite\"></p>\n<p>Zusätzlich sollte man jetzt noch alle Aufrufe der Webseite auf die https URL umleiten. Dafür kann man mit folgendem Eintrag zusätzlich in die <code>.htacssess</code> einfügen.</p>\n<pre><code>&lt;IfModule mod_rewrite.c&gt;\nRewriteEngine On\nRewriteCond %{HTTPS} off\nRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]\n&lt;/IfModule&gt;\n</code></pre>\n<p>Viel Spaß beim Umstellen.<br><img src=\"https://vg02.met.vgwort.de/na/c340bc99aed94be5afcc4453493aa02\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2016-03-25T15:13:00.000Z",
            "tags": [
                "WordPress",
                "http",
                "https",
                "ssl"
            ],
            "image": "https://danielhuesken.de/assets/wordpress-blog-von-http-auf-https-umstellen-1.png"
        },
        {
            "id": "https://danielhuesken.de/einfacher-php-objekt-cache-apcu-einrichtung/",
            "url": "https://danielhuesken.de/einfacher-php-objekt-cache-apcu-einrichtung/",
            "title": "Einfacher PHP Objekt Cache - APCu einrichtung",
            "summary": "Verbessern Sie die Leistung Ihrer PHP-Anwendung, insbesondere WordPress, durch die einfache Einrichtung von APCu als Objekt-Cache. Dieser Artikel erklärt, wie Sie APCu mit minimalem Aufwand konfigurieren, um die Geschwindigkeit Ihrer Webseite spürbar zu erhöhen, ohne einen zusätzlichen Dienst verwalten zu müssen. Erfahren Sie, wie Sie die passende DLL-Datei einbinden und Ihre php.ini anpassen, um von den Vorteilen dieses Caching-Mechanismus zu profitieren.",
            "content_html": "<h1>Einfacher PHP Objekt Cache - APCu einrichtung</h1>\n<p>Viele kennen vielleicht den APC Cache von PHP noch. Dieser wurde zum Cachen von PHP-Skripten und als Objekt Cache genutzt. Heute übernimmt allerdings der Opcode Cache die Aufgabe des Cachens von PHP Skripten und würde sich daher mit APC in Gehege kommen. Daher wurde der Objekt Cache (Userland Cache) aus APC herausgelöst und als APCu herausgebracht.</p>\n<p>Ich verwende APCu gerne als Objekt Cache, da es sich so leicht einrichten lässt und kein extra Dienst notwendig ist.</p>\n<p>Für die Einrichtung benötigt man die zu seiner PHP Version passende dll. Diese findet man <a href=\"https://pecl.php.net/package/APCu\">hier</a>. Aus dem ZIP-Archiv benötigen wir nur die <code>php_apcu.dll</code>, diese kopiere ich mir in dem „extras“ Ordner, der sich im PHP Verzeichnis befindet.</p>\n<p>Dan müssen wir die php.ini bearbeiten und die dll als Extension in der [PHP] Section hinzufügen:</p>\n<pre><code>extension=C:/php/extras/php_apcu.dll\n</code></pre>\n<p>Dann müssen wir noch eine Section wie folgt erstellen:</p>\n<pre><code>[apcu]\napc.enable_cli = on\napc.enabled = on\napc.writable = &quot;C:/Temp/&quot;\n</code></pre>\n<p>Dies reicht, um APCu zu aktivieren. Der Webserver sollte einmal neu gestartet werden.</p>\n<p>Damit man den Cache überhaut, nutzen kann, muss man ihn im CMS aktivieren. Das geht in WordPress, indem man eine object-cache.php Datei im wp-content ablegt. In WordPress kann man direkt einen Geschwindigkeitsunterschied merken, auch wenn noch nicht viel im Blog ist.</p>\n<p>Um zu sehen, was im Cache ist, kann man sich die Datei auf dem Webserver ablegen und Aufrufen.</p>\n<p>Den APCu Cache wird man bei Standard Shard Hosting nicht finden da der Cache immer für alle auf dem Server gilt und es somit ein Sicherheitsrisiko darstellt. Bei <a href=\"https://www.mittwald.de/\">Mittwald</a> kann man allerdings APCu in den Managed Server Paketen bekommen.<br><img src=\"https://vg02.met.vgwort.de/na/815a3fb5c4c148ea98edc4dd4fcb82bf\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2016-01-31T13:50:00.000Z",
            "tags": [
                "IT",
                "WordPress",
                "apcu",
                "Windows",
                "php"
            ],
            "image": "https://danielhuesken.de/images/danielhuesken.webp"
        },
        {
            "id": "https://danielhuesken.de/xdebug-unter-windows-einrichten/",
            "url": "https://danielhuesken.de/xdebug-unter-windows-einrichten/",
            "title": "Xdebug unter Windows einrichten",
            "summary": "Lernen Sie, wie Sie Xdebug unter Windows für die PHP-Entwicklung einfach einrichten und konfigurieren. Dieses Tutorial führt Sie durch die notwendigen Schritte, um Xdebug mit PhpStorm zu verwenden und Ihre PHP-Anwendungen effizient zu debuggen. Verbessern Sie Ihren Entwicklungsworkflow durch die korrekte Installation der php_xdebug.dll und Anpassung Ihrer php.ini-Datei.",
            "content_html": "<h1>Xdebug unter Windows einrichten</h1>\n<p><a href=\"https://xdebug.org/\">Xdebug</a> verwende ich jetzt schon seit einiger Zeit, um <a href=\"http://windows.php.net/\">PHP</a> unter Windows zu Debuggen mit <a href=\"https://www.jetbrains.com/phpstorm/\">PHPStorm</a>. Da ich schon einigen Leuten geholfen habe Xdebug einzurichten und zur Dokumentation meiner Einstellungen, schreibe ich dieses kleine Tutorial.</p>\n<p>Voraussetzung ist hierfür ein lokal installierter Webserver mit PHP. Die Xdebug Konfiguration sollte nicht nur mit PHPStorm funktionieren (Dafür muss der „idekey“ entsprechend angepasst werden).</p>\n<p>Für die Einrichtung benötigen wir die <code>php_xdebug.dll</code> die man <a href=\"https://xdebug.org/download.php\">hier</a> passend zu seiner PHP Version herunterladen kann. Meistens wird dies die TS (ThreadSafe) Version sein (Kann man auch daran erkennen, wenn man PHP als Apache Module läuft). Die dll habe ich bei mir in das PHP Unterverzeichnis „extras“ entpackt.</p>\n<p>Jetzt muss noch die <code>php.ini</code> bearbeitet werden und um folgenden Block ergänzt werden:</p>\n<pre><code>[XDebug]\nzend_extension = &quot;C:/php/extras/php_xdebug.dll&quot;\nxdebug.remote_enable = 1\nxdebug.remote_port = 9000\nxdebug.remote_connect_back = 0\nxdebug.profiler_enable_trigger = 1\nxdebug.profiler_enable = 0\nxdebug.profiler_output_dir = &quot;C:/Temp/profiler&quot;\nxdebug.idekey = PHPSTORM\nxdebug.default_enable = 0\nxdebug.scream = 1\n</code></pre>\n<p>Die Beschreibungen zu den Einstellungen findet man hier, im Prinzip ist aber alles so eingestellt, das Xdebug nur ausgeführt wird, wenn es durch einen Cookie oder URL Parameter aktiviert wird. Ich benutze dazu in Chrome den <a href=\"https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc\">Xdebug Helper</a>. Dort wählt man in den Optionen auch nur Die IDEKey aus und kann dann noch einstellen bei welchen Domains das Tool in der Adressliste des Browsers angezeigt werden soll.</p>\n<p>Wenn man PHP Scripte auf Kommandozeile Debuggen will, muss man einen Eintrag in den Umgebungsvariablen von Windows hinzufügen. Dieser lautet:</p>\n<pre><code>Name: XDEBUG_CONFIG\nWert: remote_enable=1 remote_mode=req idekey=PHPSTORM\n</code></pre>\n<p>In PHPStorm muss man, bevor man mit dem Debuggen beginnt, nur noch den Knopf für „Start Listening for PHP Debug Connections“ drücken und seine Breakpoints setzen.</p>\n<p>Happy Debugging<br><img src=\"https://vg02.met.vgwort.de/na/a50bf81f940d443491006af2ecb4dbcf\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2016-01-31T13:04:00.000Z",
            "tags": [
                "xdebug",
                "Windows",
                "php"
            ],
            "image": "https://danielhuesken.de/images/danielhuesken.webp"
        },
        {
            "id": "https://danielhuesken.de/wordpress-sicherheit-erhoehen-ohne-plugins/",
            "url": "https://danielhuesken.de/wordpress-sicherheit-erhoehen-ohne-plugins/",
            "title": "WordPress Sicherheit erhöhen ohne Plugins",
            "summary": "Verbessern Sie die Sicherheit Ihrer WordPress-Website effektiv ohne zusätzliche Plugins, indem Sie grundlegende Maßnahmen wie sichere Passwörter, eine Installation in einem Unterverzeichnis und das Umbenennen des `wp-content`-Ordners nutzen. Schützen Sie Ihre WordPress-Installation zusätzlich durch gezielte .htaccess-Regeln und das Entfernen von WordPress-spezifischen Informationen aus dem HTML-Header, um Angreifern das Ausspähen Ihrer Seite zu erschweren. Diese Schritte tragen maßgeblich zur Absicherung Ihrer Webseite bei und minimieren potenzielle Sicherheitsrisiken.",
            "content_html": "<h1>WordPress Sicherheit erhöhen ohne Plugins</h1>\n<p>ch bin der Meinung, dass man die Sicherheit von WordPress auch ohne Plugins erhöhen kann. Oder andersherum: Hackern und automatisierten Angriffen das Leben schwerer machen. Wie das geht, werde ich hier beschreiben.</p>\n<p>Eins vorweg: Wenn man keine sicheren Passwörter verwendet, nützt einem auch die beste Absicherung nichts. Und das gilt nicht nur für deinen WordPress Zugang, sonder für alle Zugangsmöglichkeiten zu Webspace (FTP, SSH, MySQL, …). Außerdem bietet heute nahezu jeder Hoster die Möglichkeit Daten verschlüsselt zu übertragen. Insbesondere bei E-Mail oder FTP.</p>\n<p>Die Installation:<br><img src=\"/assets/wordpress-sicherheit-erhoehen-ohne-plugins-1.png\" alt=\"Verzeichnis inhalt\"></p>\n<p>Ich habe WordPress in einem <a href=\"http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory\">unter Ordner installiert</a>.  Ich bin der Meinung, wenn man diese Art der Installation wählt, hat ein automatisierter Angriff es zumindest etwas schwerer den WordPress Ordner zu finden. Außerdem finde ich es etwas aufgeräumter, da ich in dem Root Ordner noch weitere Dienste installiert habe, damit ich sie alle mit einem https Zertifikat nutzen kann. Dazu kommt noch, dass ich den <code>wp-content</code> Ordner umbenannt habe.</p>\n<p>Um den „wp-content“ Ordner umzubenennen, bedarf es zwei Einträge in der <code>wp-config.php</code>.</p>\n<pre><code>define( &#39;WP_CONTENT_DIR&#39;, realpath( dirname(__FILE__) . &#39;/../content&#39; ) );\ndefine( &#39;WP_CONTENT_URL&#39;, &#39;https://danielhuesken.de/content&#39; );\n</code></pre>\n<p>Dies sollten heute alle Plugins unterstützen.</p>\n<p>Zusätzliche Absicherungen:</p>\n<p><code>.htaccess</code> im Root (Haupt) Ordner.</p>\n<pre><code>&lt;FilesMatch &quot;(.htaccess|readme.html|liesmich.html|license.txt|license.md|readme.txt|readme.md|wp-config.php)&quot;&gt;\nDeny from all\n&lt;/FilesMatch&gt;\nphp_flag display_errors off\n</code></pre>\n<p>Der „FilesMatch“ Eintrag sorgt dafür, dass auf die Dateien in der Liste nicht direkt über eine URL zugegriffen werden kann. Hier sind auch die Readme Dateien enthalten, damit man darüber nicht erkennen kann, ob etwas vorhanden ist oder sogar die Version herausbekommt.</p>\n<p>Die letzte Zeile sorgt dafür, dass PHP keine Fehlermeldungen ausgibt und man somit den Server Pfad nicht in Erfahrung bringen kann.</p>\n<p>Im neuen „Content“ Ordner habe ich eine zusätzliche .htaccess liegen mit folgenden Einträgen.</p>\n<pre><code>&lt;Files *.php&gt;\norder allow,deny\ndeny from all\n&lt;/Files&gt;\n&lt;Files debug.log&gt;\nOrder allow,deny\nDeny from all\n&lt;/Files&gt;\n</code></pre>\n<p>Das sorgt dafür, dass keine .php Dateien mehr direkt im „Content“ Ordner aufgerufen werden können. Allerdings muss hier getestet werden, ob auch alle Plugins und Themes damit funktionieren. Gute Plugins und Themes sollten aber kein Problem damit haben. Alle anderen Dateiformate können weiterhin direkt aufgerufen werden.</p>\n<p>WordPress verschleiern:<br>Mit diesem Stück Code kann man noch einiges im HTML Kopf der Website verbergen oder dekatieren. Dieser kann in die <code>functions.php</code> eures Child Themes geschrieben werden oder eben doch in ein Kleins Plugin. Hier bitte selber entscheiden, was ihr braucht oder nicht. Der wichtigste Punkt ist hier der <code>wp_generator</code> da dieser auf jeder Seite im HTML Folgendes im Kopf hinzufügt <code>&lt;meta name=&quot;generator&quot; content=&quot;WordPress 4.1&quot; /&gt;</code>.</p>\n<pre><code>// Head cleanup\nfunction dh2015_head_cleanup() {\n// category feeds\n//remove_action( &#39;wp_head&#39;, &#39;feed_links_extra&#39;, 3 );\n// post and comment feeds\n//remove_action( &#39;wp_head&#39;, &#39;feed_links&#39;, 2 );\n// EditURI link\nremove_action( &#39;wp_head&#39;, &#39;rsd_link&#39; );\n// windows live writer\nremove_action( &#39;wp_head&#39;, &#39;wlwmanifest_link&#39; );\n// index link\nremove_action( &#39;wp_head&#39;, &#39;index_rel_link&#39; );\n// previous link\nremove_action( &#39;wp_head&#39;, &#39;parent_post_rel_link&#39;, 10, 0 );\n// start link\nremove_action( &#39;wp_head&#39;, &#39;start_post_rel_link&#39;, 10, 0 );\n// links for adjacent posts\nremove_action( &#39;wp_head&#39;, &#39;adjacent_posts_rel_link_wp_head&#39;, 10, 0 );\n// WP version\nremove_action( &#39;wp_head&#39;, &#39;wp_generator&#39; );\n}\nadd_action( &#39;init&#39;, &#39;dh2015_head_cleanup&#39; );\n</code></pre>\n<p>Anmerkung:<br>Darüber hinaus sollten natürlich auch das Benutzen des Standard DB Präfixes und das Rechtesetzen der Ordner Berechtigungen nicht fehlen. Es gibt einen Artikel auf WordPress.org über das Abhärten von WordPress der auch durchgegangen werden sollte.</p>\n<p><img src=\"https://vg02.met.vgwort.de/na/55e7b93c93b54d4db034faea305db8e3\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2015-02-28T16:00:00.000Z",
            "tags": [
                "IT",
                "WordPress",
                "security",
                "Windows",
                "php"
            ],
            "image": "https://danielhuesken.de/assets/wordpress-sicherheit-erhoehen-ohne-plugins-1.png"
        },
        {
            "id": "https://danielhuesken.de/git-fur-windows-installieren-und-ssh-keys-nutzen/",
            "url": "https://danielhuesken.de/git-fur-windows-installieren-und-ssh-keys-nutzen/",
            "title": "Git für Windows installieren und SSH Keys nutzen",
            "summary": "Lernen Sie, wie Sie Git unter Windows installieren und SSH-Keys für eine sichere und passwortlose Authentifizierung bei Diensten wie GitHub einrichten. Diese Anleitung führt Sie durch die notwendigen Schritte, von der Auswahl der richtigen Installationsoptionen bis hin zur Konfiguration von SSH-Keys für die Nutzung in der Kommandozeile oder Ihrer IDE. Optimieren Sie Ihren Workflow und gewährleisten Sie sichere Verbindungen zu Ihren Git-Repositories.",
            "content_html": "<h1>Git für Windows installieren und SSH Keys nutzen</h1>\n<p>Ich benutzte für diese Anleitung eine alte Preview Version (Git-1.8.3-preview20130601.exe) zur Installation, diese gibt es allerdings nicht mehr. Ich hoffe die Anleitung funktioniert immer noch mit der Version von von <a href=\"https://gitforwindows.org/\">gitforwindows.org</a>.</p>\n<p>Da ich nur die Kommandozeilen Komponenten benötige, habe ich die „Windows Explorer integration“ abgewählt.</p>\n<p><img src=\"/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-1.png\" alt=\"Git setup step 1\"><br><img src=\"/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-2.png\" alt=\"Git setup step 2\"><br>Hier verwende ich extra „Run Git and included Unix tools form Windows Command Prompt“, damit ich Git in der Kommandozeile laufen lassen kann, ohne den Pfad der Git Datei angeben zu müssen. Außerdem ist das der einzige Punkt, bei dem dann die SSH Authentifizierung vernünftig funktioniert.</p>\n<p><img src=\"/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-3.png\" alt=\"Git setup step 3\"><br>Ich benutze das von Git mitgelieferte OpenSSH.</p>\n<p>Wir verwenden immer die „Unix-style line endings“. Dies kann man aber auch projektweise mithilfe einer <code>.gitattributes</code> definieren.</p>\n<p><img src=\"/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-4.png\" alt=\"Git setup step 4\"><br>Danach wird Git installiert und man kann es in der Windows cmd nutzen. Ich nutze es direkt in der IDE PHPStorm.</p>\n<p>Um Git jetzt noch mit SSH Zertifikaten laufen zu lassen, müssen wir nur noch der Anleitung folgen, die ich hier nochmal kurz durchgehe.</p>\n<p>Punkt 1: Überprüfen, ob schon SSH Keys existieren. Diese sollten unter <code>C:\\Users\\&lt;Benutzername&gt;\\.ssh</code> zu finden sein und im Normalfall <code>id_rsa</code> und <code>id_rsa.pub</code> heißen.</p>\n<p>Wenn schon welche existieren, kann Punkt 2 übersprungen werden.</p>\n<p>Punkt 2: SSH Key erstellen, indem man in der Kommandozeile folgenden Befehl eingibt.</p>\n<pre><code>ssh-keygen -t rsa -C &quot;your_email@example.com„\n</code></pre>\n<p>Es sollte diese Meldung erscheinen:</p>\n<pre><code>Enter file in which to save the key (/c/Users/&lt;Benutzername&gt;/.ssh/id_rsa):\n</code></pre>\n<p>Diese mit Enter bestätigen. außer dort ist nicht der oben angegebene Pfad angegeben, dann diesen ändern in „C:\\Users&lt;Benutzername&gt;.ssh\\id_rsa“ und mit Enter bestätigen.</p>\n<p>Dann wird noch nach einer „passphrase“ gefragt; hier bestätige ich einfach 2-mal.</p>\n<p>Zum Schluss muss eine Meldung erscheinen, die lautet <code>The key fingerprint is: …</code> dann sollte das Erstellen geklappt haben, wenn keine Fehlermeldung aufgetaucht ist.</p>\n<p><img src=\"/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-5.png\" alt=\"Git setup step 5\"><br>Hier noch ein Screenshot mit der cmd-</p>\n<p>Punkt 3: Jetzt muss man noch den erstellten Key bei Github oder anderem Git dienst eintragen.</p>\n<p>Dazu öffnet man die eben erstellte <code>C:\\Users\\&lt;Benutzername&gt;\\.ssh\\id_rsa.pub</code> mit dem Windows Editor und kopiert den Inhalt der Datei eins zu eins bei GitHub in das <code>Key</code> Feld, welches erscheint, wenn man auf <code>Add Keys</code> klickt. Den Namen kann man leer lassen, da dieser automatisch eingetragen wird.</p>\n<p>Punkt 4: Testen, ob der Key akzeptiert wird, macht man indem man nochmal die cmd öffnet und folgenden Befehl eingibt: <code>ssh -T git@github.com</code></p>\n<p>Wenn die Meldung <code>The authenticity of host ‚github.com (207.97.227.239)‘ can’t be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?</code> erscheint einfach yes eingeben und bestätigen.</p>\n<p><img src=\"/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-6.png\" alt=\"Git setup step 6\"><br>Wenn alles geklappt hat, sollte eine Meldung wie im Screenshot erscheinen.</p>\n<p>Damit kann man Git mit SSH ohne Passworteingabe nutzen. Wichtig ist natürlich, dass man die Repro per SSH cloned und nicht per http.</p>\n<p>Update 13.04.2015: Ich muss neuerdings die Umgebungsvariable <code>set HOME=%HOMEDRIVE%%HOMEPATH%</code> setzen damit ich mich über ssh authentifizieren kann. Die habe ich in den Windows Umgebungsvariablen bei meinem Benutzer gesetzt.</p>\n<p><img src=\"https://vg02.met.vgwort.de/na/aebf42072d77441cad4c5464f524795f\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2013-06-12T08:00:00.000Z",
            "tags": [
                "IT",
                "git",
                "Windows",
                "ssh"
            ],
            "image": "https://danielhuesken.de/assets/git-fur-windows-installieren-und-ssh-keys-nutzen-1.png"
        },
        {
            "id": "https://danielhuesken.de/warum-backwpup-entwickelt/",
            "url": "https://danielhuesken.de/warum-backwpup-entwickelt/",
            "title": "Warum BackWPup von mir entwickelt wurde",
            "summary": "BackWPup wurde entwickelt, weil eine umfassende WordPress-Backup-Lösung fehlte, die Datei- und Datenbank-Backups zuverlässig durchführt und an externe Ziele wie FTP oder E-Mail überträgt. Das Ziel war ein Plugin, das auf den meisten Hostern läuft, sich nahtlos in WordPress integriert und trotz umfangreicher Konfigurationsmöglichkeiten einfach zu bedienen ist.",
            "content_html": "<h1>Warum BackWPup von mir entwickelt wurde</h1>\n<p>Diese Frage tauchte heute in einem <a href=\"http://deckerweb.de/2011-04/komfortable-und-sichere-backups-in-wordpress-mit-backwpup/#comment-59\">Kommentar</a> eines <a href=\"http://deckerweb.de/2011-04/komfortable-und-sichere-backups-in-wordpress-mit-backwpup/\">Blog Beitrages</a> über BackWPup von David Decker auf.</p>\n<p>Also es war vor ca. etwas über einem Jahr, da war ich auf der Suche nach einer Backuplösung für meinen Blog.</p>\n<p>Diese sollte Folgendes können:</p>\n<ul>\n<li>Datei Backup</li>\n<li>Datenbank Backup</li>\n<li>die Backup-Datei transferieren (FTP, E-Mail, …)</li>\n</ul>\n<p>Außerdem wollte ich ab und zu ganz gerne mal ein automatisches Optimize der Datenbank durchführen.</p>\n<p>Ich hatte schon einige Zeit ein Backup Plugin für die Datenbank im Einsatz. Das Problem an dem war nur, dass es das Backup per System Aufruf macht, was nicht jeder Hoster unterstützt. Deswegen habe ich weiter gesucht und auch eigene Plugins gefunden, aber, wenn ich sie getestet habe, funktionierten sie nicht richtig oder hatten nicht den Leistungsumfang, sodass man mit mehreren Plugins arbeiten musste.</p>\n<p>Da ich gerne mal etwas programmiere und mich durch das MiniMeta Widget etwas in WordPress eingearbeitet hatte, dachte ich mir, ich schreibe selber eins und stelle es denen zur Verfügung, die etwas Ähnliches suchen.</p>\n<p>Die Philosophie hinter dem Plugin ist:</p>\n<ul>\n<li>es sollte die oben genannten Funktionen haben</li>\n<li>es sollte bei den meisten Hostern laufen</li>\n<li>es sollte vollständig im WordPress look&amp;feel erscheinen</li>\n<li>es sollte einfach sein (na ja, durch den Umfang mittlerweile nicht mehr ganz so …)</li>\n<li>es sollte konfigurierbar sein und nicht nur ein Klick und ich weiß nicht, was gemacht wird</li>\n</ul>\n<p>Mittlerweile umfasst das Plugin einige Möglichkeiten, wo die Backups gespeichert werden, was gesichert wird und wann.</p>\n<p>Das WordPress look&amp;feel habe ich wohl erst mit Version 2 vollständig hinbekommen, außerdem ist es um einige Dateien gewachsen, die aber immer nur geladen werden, wenn sie auch gebraucht werden.</p>\n<p>Des Weiteren habe ich die Libraries für DropBox, Sugar sync selber geschrieben und für die für Google Storage überarbeitet, damit sie meinen Ansprüchen gerecht wurden.</p>\n<p><img src=\"https://vg02.met.vgwort.de/na/394af2674a934f9e9a6950b9f261b645\" alt=\"VG Wort Zählpixel\"></p>\n",
            "date_published": "2011-06-22T19:06:00.000Z",
            "tags": [
                "WordPress",
                "backup",
                "BackWPup"
            ],
            "image": "https://danielhuesken.de/images/danielhuesken.webp"
        },
        {
            "id": "https://danielhuesken.de/html-schreibweise-fuer-aeueoess/",
            "url": "https://danielhuesken.de/html-schreibweise-fuer-aeueoess/",
            "title": "HTML Schreibweise für ä,ö,ü,ß",
            "summary": "Einige HTML Sonderzeichen und ihre schreibweise im Code",
            "content_html": "<h1>HTML Schreibweise für ä,ö,ü,ß</h1>\n<p>Bevor ich mir die HTML-Umlaute immer suchen muss:</p>\n<p>ä -&gt; &amp;auml;<br>Ä -&gt; &amp;Auml;<br>ö -&gt; &amp;ouml;<br>Ö -&gt; &amp;Ouml;<br>ü -&gt; &amp;uuml;<br>Ü -&gt; &amp;Uuml;<br>ß -&gt; &amp;szlig;<br>€ -&gt; &amp;euro;<br>&amp; -&gt; &amp;amp;<br>&lt; -&gt; &amp;lt;<br>&gt; -&gt; &amp;gt;<br>“ -&gt; &amp;quot;<br>© -&gt; &amp;copy;<br>• -&gt; &amp;bull;<br>™ -&gt; &amp;trade;<br>® -&gt; &amp;reg;<br>§ -&gt; &amp;sect;<br>Mehr Sonderzeichen / Quelle: <a href=\"http://de.selfhtml.org/html/allgemein/zeichen.htm\">SELFHTML</a></p>\n",
            "date_published": "2007-07-03T19:06:00.000Z",
            "tags": [
                "HTML",
                "Sonderzeichen",
                "umlaute"
            ],
            "image": "https://danielhuesken.de/images/danielhuesken.webp"
        }
    ]
}