<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>API Archiv - Homepage nach Preis - Webseite erstellen lassen</title>
	<atom:link href="https://homepage-nach-preis.de/wort/api/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>★ Responsive Webdesigner Homepage erstellen lassen, bereits ab 299 Euro professionelle Webseite. ✓ Google-Optimiert ✓ Mobil-Optimiert &#124; Webdesign &#38; Seo</description>
	<lastBuildDate>Wed, 22 May 2024 13:06:58 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://homepage-nach-preis.de/wp-content/uploads/2021/02/cropped-icon-150x150.png</url>
	<title>API Archiv - Homepage nach Preis - Webseite erstellen lassen</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WordPress Rest API Schnittstelle mit Firewall</title>
		<link>https://homepage-nach-preis.de/2024/05/22/wordpress-rest-api-schnittstelle-mit-firewall/</link>
					<comments>https://homepage-nach-preis.de/2024/05/22/wordpress-rest-api-schnittstelle-mit-firewall/#respond</comments>
		
		<dc:creator><![CDATA[Homepage-nach-Preis]]></dc:creator>
		<pubDate>Wed, 22 May 2024 12:41:18 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Homepage]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress Code]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Schnitstelle]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://homepage-nach-preis.de/?p=8247</guid>

					<description><![CDATA[<p>Registrierung der benutzerdefinierten REST-Route Die Funktion zur Registrierung der REST-API-Route wird verwendet, um einen neuen Endpunkt in WordPress hinzuzuf&#xFC;gen. Dieser Endpunkt erm&#xF6;glicht es, externe Anfragen an WordPress zu senden und eine Antwort zu erhalten. Schritte der Registrierung: Hook zur Initialisierung der REST-API: Mit add_action(&#x27;rest_api_init&#x27;, function () { &#8230; }); wird eine anonyme Funktion registriert, die w&#xE4;hrend der Initialisierung der REST-API aufgerufen wird. Definition der Route: Innerhalb dieser anonymen Funktion wird register_rest_route aufgerufen, um die Route zu definieren. Namespace: &#x27;hnp_api_firewall/v1&#x27; legt den Namespace fest, der als Versionierung der API dient. Route: &#x27;/api&#x27; ist der spezifische Endpunkt innerhalb des Namespace. Optionen: Ein Array von Optionen, darunter: Methode: &#x27;methods&#x27; =&#x3E; &#x27;POST&#x27; spezifiziert, dass die Route nur POST-Anfragen akzeptiert. Callback: &#x27;callback&#x27; =&#x3E; &#x27;hnp_api_firewall_callback&#x27; gibt die Funktion an, die aufgerufen wird, wenn die Route erreicht wird. Berechtigung: &#x27;permission_callback&#x27; =&#x3E; &#x27;hnp_api_firewall_combined_permissions&#x27; bestimmt die Funktion, die die Berechtigungen f&#xFC;r den Zugriff auf die Route &#xFC;berpr&#xFC;ft. Kombinierte Berechtigungs- und Blockierungslogik Die Funktion hnp_api_firewall_combined_permissions dient dazu, die Berechtigungen und Blockierungslogik zu kombinieren. Sie wird aufgerufen, bevor die Haupt-Callback-Funktion ausgef&#xFC;hrt wird, um sicherzustellen, dass nur berechtigte Anfragen zugelassen werden. Schritte der Berechtigungspr&#xFC;fung: IP-&#xDC;berpr&#xFC;fung: Die IP-Adresse des Anfragenden wird &#xFC;berpr&#xFC;ft, um festzustellen, ob sie blockiert ist. Wenn die IP-Adresse blockiert ist....</p>
<p>Der Beitrag <a rel="nofollow" href="https://homepage-nach-preis.de/2024/05/22/wordpress-rest-api-schnittstelle-mit-firewall/">WordPress Rest API Schnittstelle mit Firewall</a> erschien zuerst auf <a rel="nofollow" href="https://homepage-nach-preis.de">Homepage nach Preis - Webseite erstellen lassen</a>. Geschrieben von <a rel="nofollow" href="https://homepage-nach-preis.de/author/homepageadmin/">Homepage-nach-Preis</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><br />
Registrierung der benutzerdefinierten REST-Route</strong></p>
<p>Die Funktion zur Registrierung der REST-API-Route wird verwendet, um einen neuen Endpunkt in WordPress hinzuzuf&#xFC;gen. Dieser Endpunkt erm&#xF6;glicht es, externe Anfragen an WordPress zu senden und eine Antwort zu erhalten.</p>
<p><strong>Schritte der Registrierung:</strong></p>
<p>    Hook zur Initialisierung der REST-API: Mit add_action(&#x27;rest_api_init&#x27;, function () { &#8230; }); wird eine anonyme Funktion registriert, die w&#xE4;hrend der Initialisierung der REST-API aufgerufen wird.<br />
    Definition der Route: Innerhalb dieser anonymen Funktion wird register_rest_route aufgerufen, um die Route zu definieren.<br />
        Namespace: &#x27;hnp_api_firewall/v1&#x27; legt den Namespace fest, der als Versionierung der API dient.<br />
        Route: &#x27;/api&#x27; ist der spezifische Endpunkt innerhalb des Namespace.<br />
        Optionen: Ein Array von Optionen, darunter:<br />
            Methode: &#x27;methods&#x27; =&#x3E; &#x27;POST&#x27; spezifiziert, dass die Route nur POST-Anfragen akzeptiert.<br />
            Callback: &#x27;callback&#x27; =&#x3E; &#x27;hnp_api_firewall_callback&#x27; gibt die Funktion an, die aufgerufen wird, wenn die Route erreicht wird.<br />
            Berechtigung: &#x27;permission_callback&#x27; =&#x3E; &#x27;hnp_api_firewall_combined_permissions&#x27; bestimmt die Funktion, die die Berechtigungen f&#xFC;r den Zugriff auf die Route &#xFC;berpr&#xFC;ft.</p>
<p><strong>Kombinierte Berechtigungs- und Blockierungslogik</strong></p>
<p>Die Funktion hnp_api_firewall_combined_permissions dient dazu, die Berechtigungen und Blockierungslogik zu kombinieren. Sie wird aufgerufen, bevor die Haupt-Callback-Funktion ausgef&#xFC;hrt wird, um sicherzustellen, dass nur berechtigte Anfragen zugelassen werden.</p>
<p><strong>Schritte der Berechtigungspr&#xFC;fung:</strong></p>
<p>    IP-&#xDC;berpr&#xFC;fung: Die IP-Adresse des Anfragenden wird &#xFC;berpr&#xFC;ft, um festzustellen, ob sie blockiert ist.<br />
        Wenn die IP-Adresse blockiert ist und die Blockierungsdauer noch nicht abgelaufen ist, wird der Zugriff verweigert.<br />
        Wenn die Blockierungsdauer abgelaufen ist, wird die IP-Adresse entsperrt und die Blockierungsinformationen werden zur&#xFC;ckgesetzt.</p>
<p>    &#xDC;berpr&#xFC;fung der API-Benutzer und -Geheimnisse: Die Kopfzeilen der Anfrage werden auf g&#xFC;ltige API-Benutzer und -Geheimnisse &#xFC;berpr&#xFC;ft.<br />
        Wenn die Anmeldedaten korrekt sind, wird der Z&#xE4;hler f&#xFC;r g&#xFC;ltige Versuche erh&#xF6;ht.<br />
        Wenn die Anmeldedaten falsch sind, wird der Z&#xE4;hler f&#xFC;r ung&#xFC;ltige Versuche erh&#xF6;ht.<br />
            Wenn die Anzahl ung&#xFC;ltiger Versuche einen bestimmten Schwellenwert &#xFC;berschreitet (z.B. 50), wird die IP-Adresse blockiert.</p>
<p>    Versuchsverfolgung: Die Anzahl der erfolgreichen und fehlgeschlagenen Anmeldeversuche wird verfolgt, um die Blockierungslogik zu unterst&#xFC;tzen.</p>
<p><strong>R&#xFC;ckgabewert</strong></p>
<p>    Erfolgreiche Berechtigung: Wenn die Berechtigung erfolgreich ist, gibt die Funktion true zur&#xFC;ck, wodurch die Haupt-Callback-Funktion hnp_api_firewall_callback aufgerufen wird.<br />
    Fehlgeschlagene Berechtigung: Wenn die Berechtigung fehlschl&#xE4;gt, wird ein Fehler zur&#xFC;ckgegeben und die Haupt-Callback-Funktion wird nicht ausgef&#xFC;hrt.</p>
<p><strong>Haupt-Callback-Funktion</strong></p>
<p>Die Haupt-Callback-Funktion hnp_api_firewall_callback wird aufgerufen, wenn die Berechtigung erfolgreich ist und die Route erreicht wird. Sie gibt eine JSON-Antwort mit dem Dateninhalt zur&#xFC;ck, der in diesem Fall ein einfaches Beispiel mit {&#x22;testdata&#x22;: &#x22;test&#x22;} ist.</p>
<pre>

// Register the custom REST route
add_action(&#x27;rest_api_init&#x27;, function () {
    register_rest_route(&#x27;hnp_api_firewall/v1&#x27;, &#x27;/api&#x27;, array(
        &#x27;methods&#x27; =&#x3E; &#x27;POST&#x27;,
        &#x27;callback&#x27; =&#x3E; &#x27;hnp_api_firewall_callback&#x27;,
        &#x27;permission_callback&#x27; =&#x3E; &#x27;hnp_api_firewall_combined_permissions&#x27;,
    ));
});

// Combined function to handle permissions and blocking logic
function hnp_api_firewall_combined_permissions(WP_REST_Request $request) {
    $ip_address = sanitize_text_field($_SERVER[&#x27;REMOTE_ADDR&#x27;]);
    $blocked_ips = get_option(&#x27;hnp_blocked_ips&#x27;, array());

    // Check if IP is blocked
    if (isset($blocked_ips[$ip_address])) {
        $block_info = $blocked_ips[$ip_address];
        $block_time = $block_info[&#x27;block_time&#x27;];
        $block_duration = $block_info[&#x27;block_duration&#x27;];
        $current_time = current_time(&#x27;timestamp&#x27;);

        // If current time is less than block time + block duration, deny access
        if ($current_time &#x3C; ($block_time + $block_duration)) {
            return new WP_Error(&#x27;blocked_ip&#x27;, &#x27;Your IP is temporarily blocked due to too many attempts.&#x27;, array(&#x27;status&#x27; =&#x3E; 403));
        } else {
            // Unblock IP and reset attempts after block duration
            unset($blocked_ips[$ip_address]);
            update_option(&#x27;hnp_blocked_ips&#x27;, $blocked_ips);
        }
    }

    // Check API user and secret
    $api_user = $request-&#x3E;get_header(&#x27;APIUser&#x27;);
    $api_secret = $request-&#x3E;get_header(&#x27;APISecret&#x27;);
    $valid_api_user = &#x27;4GI53seaRLu!FK9XEiAk323U6M!f2bT7Sda28ZqsaegQCn0!Y121Y1L&#x27;;
    $valid_api_secret = &#x27;091572EddV!YcTKGR3Q13a!CM6TN!UWbPqFRdwa1XpP!1g8o32aaJD4&#x27;;

    // Tracking attempts
    $attempts = get_option(&#x27;hnp_attempts&#x27;, array());

    if (!isset($attempts[$ip_address])) {
        $attempts[$ip_address] = array(
            &#x27;valid_count&#x27; =&#x3E; 0,
            &#x27;invalid_count&#x27; =&#x3E; 0,
            &#x27;invalid_license_count&#x27; =&#x3E; 0,
            &#x27;first_attempt_time&#x27; =&#x3E; current_time(&#x27;timestamp&#x27;)
        );
    }

    $permission_granted = null !== $api_user &#x26;&#x26; $api_user === $valid_api_user &#x26;&#x26; null !== $api_secret &#x26;&#x26; $api_secret === $valid_api_secret;

    if ($permission_granted) {
        $attempts[$ip_address][&#x27;valid_count&#x27;]++;
    } else {
        $attempts[$ip_address][&#x27;invalid_count&#x27;]++;

        // Block IP if invalid attempts exceed threshold (e.g., 50)
        if ($attempts[$ip_address][&#x27;invalid_count&#x27;] &#x3E;= 50) {
            $blocked_ips[$ip_address] = array(&#x27;block_time&#x27; =&#x3E; current_time(&#x27;timestamp&#x27;), &#x27;block_duration&#x27; =&#x3E; 12 * HOUR_IN_SECONDS);
            update_option(&#x27;hnp_blocked_ips&#x27;, $blocked_ips);
            return new WP_Error(&#x27;blocked_ip&#x27;, &#x27;Your IP is temporarily blocked due to too many invalid attempts for API Secret/Username.&#x27;, array(&#x27;status&#x27; =&#x3E; 403));
        }

        update_option(&#x27;hnp_attempts&#x27;, $attempts);
        return new WP_Error(&#x27;invalid_credentials&#x27;, &#x27;Invalid API Secret key or password.&#x27;, array(&#x27;status&#x27; =&#x3E; 403));
    }

    // Reset invalid attempts on successful authentication
    if (isset($attempts[$ip_address])) {
        unset($attempts[$ip_address][&#x27;invalid_count&#x27;]);
        update_option(&#x27;hnp_attempts&#x27;, $attempts);
    }

    return true;
}

function hnp_api_firewall_callback() {
    return new WP_REST_Response(array(
        &#x27;testdata&#x27; =&#x3E; &#x27;test&#x27;
    ), 200);
}

</pre>
<p><strong>cUrl Anfrage zum Testen:</strong></p>
<pre>
curl -X POST https://yourdomain.com/wp-json/hnp_api_firewall/v1/api \
     -H &#x22;APIUser: 4GI53seaRLu!FK9XEiAk323U6M!f2bT7Sda28ZqsaegQCn0!Y121Y1L&#x22; \
     -H &#x22;APISecret: 091572EddV!YcTKGR3Q13a!CM6TN!UWbPqFRdwa1XpP!1g8o32aaJD4&#x22;

</pre>
<p><strong>PHP Anfrage zum Testen:</strong></p>
<pre>
&#x3C;?php

function call_hnp_api_firewall() {
    $url = &#x27;https://yourdomain.com/wp-json/hnp_api_firewall/v1/api&#x27;;
    
    $args = array(
        &#x27;headers&#x27; =&#x3E; array(
            &#x27;APIUser&#x27; =&#x3E; &#x27;4GI53seaRLu!FK9XEiAk323U6M!f2bT7Sda28ZqsaegQCn0!Y121Y1L&#x27;,
            &#x27;APISecret&#x27; =&#x3E; &#x27;091572EddV!YcTKGR3Q13a!CM6TN!UWbPqFRdwa1XpP!1g8o32aaJD4&#x27;
        ),
        &#x27;body&#x27; =&#x3E; array(
            // Any additional data you want to send in the body
        )
    );

    $response = wp_remote_post($url, $args);

    if (is_wp_error($response)) {
        $error_message = $response-&#x3E;get_error_message();
        echo &#x22;Something went wrong: $error_message&#x22;;
    } else {
        $response_body = wp_remote_retrieve_body($response);
        echo &#x27;Response:&#x3C;br&#x3E;&#x27;;
        echo &#x27;&#x3C;pre&#x3E;&#x27;;
        print_r(json_decode($response_body, true));
        echo &#x27;&#x3C;/pre&#x3E;&#x27;;
    }
}

// Call the function
call_hnp_api_firewall();

?&#x3E;

</pre>
<p><strong>C# Anfrage zum Testen:</strong></p>
<pre>
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

class Program
{
    private static async Task CallHnpApiFirewallAsync()
    {
        var url = &#x22;https://yourdomain.com/wp-json/hnp_api_firewall/v1/api&#x22;;
        
        using (var client = new HttpClient())
        {
            // Set the APIUser and APISecret headers
            client.DefaultRequestHeaders.Add(&#x22;APIUser&#x22;, &#x22;4GI53seaRLu!FK9XEiAk323U6M!f2bT7Sda28ZqsaegQCn0!Y121Y1L&#x22;);
            client.DefaultRequestHeaders.Add(&#x22;APISecret&#x22;, &#x22;091572EddV!YcTKGR3Q13a!CM6TN!UWbPqFRdwa1XpP!1g8o32aaJD4&#x22;);

            // Optionally set the content of the request (if needed)
            var content = new StringContent(&#x22;&#x22;, System.Text.Encoding.UTF8, &#x22;application/json&#x22;);

            try
            {
                var response = await client.PostAsync(url, content);

                if (response.IsSuccessStatusCode)
                {
                    var responseBody = await response.Content.ReadAsStringAsync();
                    Console.WriteLine(&#x22;Response:&#x22;);
                    Console.WriteLine(responseBody);
                }
                else
                {
                    Console.WriteLine($&#x22;Error: {response.StatusCode}&#x22;);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($&#x22;Exception: {ex.Message}&#x22;);
            }
        }
    }

    static void Main(string[] args)
    {
        Task.Run(() =&#x3E; CallHnpApiFirewallAsync()).GetAwaiter().GetResult();
    }
}

</pre>
<p><strong>Sicherheit:</strong></p>
<p>Anzahl der möglichen Kombinationen bei BrutForceAttacken</p>
<p>Einzelne Schlüssel:</p>
<p>Für einen einzelnen Schlüssel mit 50 Zeichen und 94 möglichen Zeichen pro Position ergibt sich:<br />
945094 hoch50<br />
Zwei Schlüssel kombiniert</p>
<p>Da beide Schlüssel unabhängig voneinander betrachtet werden, multiplizieren wir die Anzahl der möglichen Kombinationen beider Schlüssel:</p>
<p>(94 hoch50)×(94 hoch50)(94 hoch50)×(94 hoch50)</p>
<p><strong>Dies entspricht:</strong><br />
9410094 hoch100</p>
<p><strong>Zeit für einen Brute-Force-Angriff</strong></p>
<p>Angenommen, ein Computer kann 1 Milliarde (1.000.000.000) Kombinationen pro Sekunde testen:</p>
<p>    Anzahl der Kombinationen:<br />
        Die Anzahl der Kombinationen für einen Schlüssel: 945094 hoch50 (eine extrem große Zahl)<br />
        Die Anzahl der Kombinationen für beide Schlüssel: 9410094 hoch100 (noch viel größer)</p>
<p><strong>    Zeit für Brute-Force:</strong><br />
        Selbst wenn ein Computer 1 Milliarde Kombinationen pro Sekunde testen könnte, würde das Testen aller Kombinationen von zwei Schlüsseln extrem lange dauern.<br />
        Zum Vergleich:<br />
            Eine Milliarde Sekunden sind etwa 31,7 Jahre.</p>
<p><strong>            Die Anzahl der Kombinationen für 9410094 hoch100 ist so groß, dass selbst mit extrem schneller Hardware Billionen von Jahren benötigt würden, um alle Kombinationen zu testen.</strong></p>
<p><strong>Durch die Rate Limitierung der Firewall wird die Zeit auf Milliarden von Jahren erhöht, zudem sind DDOS oder ähnliche Hacking-Angriffe nicht möglich. Die Schnittstelle wird somit zusätzlich geschützt. </strong></p>
<p>Der Beitrag <a rel="nofollow" href="https://homepage-nach-preis.de/2024/05/22/wordpress-rest-api-schnittstelle-mit-firewall/">WordPress Rest API Schnittstelle mit Firewall</a> erschien zuerst auf <a rel="nofollow" href="https://homepage-nach-preis.de">Homepage nach Preis - Webseite erstellen lassen</a>. Geschrieben von <a rel="nofollow" href="https://homepage-nach-preis.de/author/homepageadmin/">Homepage-nach-Preis</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://homepage-nach-preis.de/2024/05/22/wordpress-rest-api-schnittstelle-mit-firewall/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>HNP Win Data Handler – Datenaustausch zwischen WordPress &#038; Windows</title>
		<link>https://homepage-nach-preis.de/2024/04/27/hnp-win-data-handler-datenaustausch-zwischen-wordpress-windows/</link>
					<comments>https://homepage-nach-preis.de/2024/04/27/hnp-win-data-handler-datenaustausch-zwischen-wordpress-windows/#respond</comments>
		
		<dc:creator><![CDATA[Homepage-nach-Preis]]></dc:creator>
		<pubDate>Sat, 27 Apr 2024 13:27:14 +0000</pubDate>
				<category><![CDATA[Homepage]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress Code]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[HNP Win Data Handler]]></category>
		<category><![CDATA[Rest]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Verbindung]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://homepage-nach-preis.de/?p=8223</guid>

					<description><![CDATA[<p>In einer Zeit, in der die Integration verschiedener Technologien zunehmend an Bedeutung gewinnt, bietet der &#8220;HNP Win Data Handler&#8221; eine effiziente Lösung für die sichere Datenübertragung zwischen einer WordPress-Website und einer externen C#-Anwendung. Dieses System stellt eine maßgeschneiderte REST API zur Verfügung, die speziell dafür entwickelt wurde, um von jeder C#-basierten Anwendung aus auf die Daten einer WordPress-Seite zuzugreifen. Was der HNP Win Data Handler macht Der HNP Win Data Handler ist ein WordPress-Plugin kombiniert mit einer C#-Anwendung, die zusammenarbeiten, um Daten sicher zu verwalten und auszutauschen. Das WordPress-Plugin definiert spezifische REST-API-Endpunkte, die es einer C#-Anwendung ermöglichen, Daten zu lesen (GET) und zu schreiben (POST). Diese Daten können für eine Vielzahl von Anwendungen nützlich sein, beispielsweise für das Abrufen und Aktualisieren von Konfigurationseinstellungen, Nutzerdaten oder anderen dynamischen Inhalten, die auf der WordPress-Seite gepflegt werden. Download Exe &#038; WordPress Plugin (sofort kostenlos nutzbar): [sdm_download id=&#8221;8231&#8243; fancy=&#8221;0&#8243;] Shortcode in WordPress für Anzeige der Daten: &#x5B;hnp_win_data_display] Github: https://github.com/HNP-Christopher-Rohde/Hnp-win-data-handler/tree/main C# Source-Code für die Win EXE / Anwendung: Die C#-Komponente handhabt die Benutzereingaben und interagiert direkt mit der REST-API. Sie bietet Funktionen zum Ändern der Domain-URL, zum Laden von Daten aus WordPress und zum Speichern von Änderungen an den Daten. Diese Flexibilität macht es möglich,....</p>
<p>Der Beitrag <a rel="nofollow" href="https://homepage-nach-preis.de/2024/04/27/hnp-win-data-handler-datenaustausch-zwischen-wordpress-windows/">HNP Win Data Handler – Datenaustausch zwischen WordPress &#038; Windows</a> erschien zuerst auf <a rel="nofollow" href="https://homepage-nach-preis.de">Homepage nach Preis - Webseite erstellen lassen</a>. Geschrieben von <a rel="nofollow" href="https://homepage-nach-preis.de/author/homepageadmin/">Homepage-nach-Preis</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In einer Zeit, in der die Integration verschiedener Technologien zunehmend an Bedeutung gewinnt, bietet der &#8220;HNP Win Data Handler&#8221; eine effiziente Lösung für die sichere Datenübertragung zwischen einer WordPress-Website und einer externen C#-Anwendung. Dieses System stellt eine maßgeschneiderte REST API zur Verfügung, die speziell dafür entwickelt wurde, um von jeder C#-basierten Anwendung aus auf die Daten einer WordPress-Seite zuzugreifen.</p>
<p><strong>Was der HNP Win Data Handler macht</strong></p>
<p>Der HNP Win Data Handler ist ein WordPress-Plugin kombiniert mit einer C#-Anwendung, die zusammenarbeiten, um Daten sicher zu verwalten und auszutauschen. Das WordPress-Plugin definiert spezifische REST-API-Endpunkte, die es einer C#-Anwendung ermöglichen, Daten zu lesen (GET) und zu schreiben (POST). Diese Daten können für eine Vielzahl von Anwendungen nützlich sein, beispielsweise für das Abrufen und Aktualisieren von Konfigurationseinstellungen, Nutzerdaten oder anderen dynamischen Inhalten, die auf der WordPress-Seite gepflegt werden.</p>
<p><strong>Download Exe &#038; WordPress Plugin (sofort kostenlos nutzbar):</strong><br />
[sdm_download id=&#8221;8231&#8243; fancy=&#8221;0&#8243;]<br />
Shortcode in WordPress für Anzeige der Daten: &#x5B;hnp_win_data_display]</p>
<p><strong>Github:</strong><br />
<a href="https://github.com/HNP-Christopher-Rohde/Hnp-win-data-handler/tree/main" rel="nofollow noopener" target="_blank">https://github.com/HNP-Christopher-Rohde/Hnp-win-data-handler/tree/main</a></p>
<p><strong>C# Source-Code für die Win EXE / Anwendung:</strong><br />
Die C#-Komponente handhabt die Benutzereingaben und interagiert direkt mit der REST-API. Sie bietet Funktionen zum Ändern der Domain-URL, zum Laden von Daten aus WordPress und zum Speichern von Änderungen an den Daten. Diese Flexibilität macht es möglich, die Datenverwaltung von jeder C#-basierten Benutzeroberfläche aus zu steuern.</p>
<pre>
// HNP Win Data Handler v.1.0 EXE
// Author: HNP C.R.
// Author URI: https://homepage-nach-preis.de/
// Licence: Creative Commons Non-Commercial 

using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

class hnp_win_data_Main
{
    private static readonly HttpClient client = new HttpClient();
    private static string domainFilePath = &#x22;hnp_win_data_domain.txt&#x22;;
    private static string? domainUrl = null;

    private const string SecretKey = &#x22;9418BB768671A389&#x22;;

    static async Task Main(string[] args)
    {
        client.DefaultRequestHeaders.Add(&#x22;X-Secret-Key&#x22;, SecretKey);

        await LoadDomain();
        while (true)
        {
            Console.WriteLine(&#x22;\nMenu:&#x22;);
            Console.WriteLine(&#x22;1. Change Domain&#x22;);
            Console.WriteLine(&#x22;2. Load Data from WordPress&#x22;);
            Console.WriteLine(&#x22;3. Change and Save Data&#x22;);
            Console.Write(&#x22;Select an option: &#x22;);

            string? option = Console.ReadLine();
            switch (option)
            {
                case &#x22;1&#x22;:
                    ChangeDomain();
                    break;
                case &#x22;2&#x22;:
                    await LoadDataFromWordPress();
                    break;
                case &#x22;3&#x22;:
                    await ChangeAndSaveData();
                    break;
                default:
                    Console.WriteLine(&#x22;Invalid option.&#x22;);
                    break;
            }
        }
    }

    static async Task LoadDomain()
    {
        if (File.Exists(domainFilePath))
        {
            domainUrl = await File.ReadAllTextAsync(domainFilePath) ?? string.Empty;
            Console.WriteLine($&#x22;Loaded domain: {domainUrl}&#x22;);
        }
        else
        {
            Console.Write(&#x22;Enter domain URL: &#x22;);
            domainUrl = Console.ReadLine();
            if (!string.IsNullOrWhiteSpace(domainUrl))
            {
                await File.WriteAllTextAsync(domainFilePath, domainUrl);
            }
        }
    }

    static void ChangeDomain()
    {
        Console.Write(&#x22;Enter new domain URL: &#x22;);
        string? newDomainUrl = Console.ReadLine();
        if (!string.IsNullOrWhiteSpace(newDomainUrl))
        {
            domainUrl = newDomainUrl;
            File.WriteAllText(domainFilePath, domainUrl);
            Console.WriteLine(&#x22;Domain updated successfully.&#x22;);
        }
        else
        {
            Console.WriteLine(&#x22;Invalid domain URL provided.&#x22;);
        }
    }

    static async Task LoadDataFromWordPress()
    {
        if (!string.IsNullOrWhiteSpace(domainUrl))
        {
            try
            {
                HttpResponseMessage response = await client.GetAsync(domainUrl + &#x22;/wp-json/hnp-win-data/v1/data&#x22;);
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                string decodedData = JsonConvert.DeserializeObject&#x3C;string&#x3E;(responseBody) ?? &#x22;Default or empty data&#x22;;
                Console.WriteLine(&#x22;Data loaded: &#x22; + decodedData);
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine(&#x22;\nException Caught!&#x22;);
                Console.WriteLine(&#x22;Message :{0} &#x22;, e.Message);
            }
        }
        else
        {
            Console.WriteLine(&#x22;Domain URL is not set. Please set the domain URL first.&#x22;);
        }
    }

    static async Task ChangeAndSaveData()
    {
        Console.Write(&#x22;Enter new data value: &#x22;);
        string? newData = Console.ReadLine();
        if (!string.IsNullOrWhiteSpace(newData) &#x26;&#x26; !string.IsNullOrWhiteSpace(domainUrl))
        {
            var content = new StringContent($&#x22;\&#x22;{newData}\&#x22;&#x22;, System.Text.Encoding.UTF8, &#x22;application/json&#x22;);
            try
            {
                HttpResponseMessage response = await client.PostAsync(domainUrl + &#x22;/wp-json/hnp-win-data/v1/data&#x22;, content);
                response.EnsureSuccessStatusCode();
                Console.WriteLine(&#x22;Data saved successfully.&#x22;);
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine(&#x22;\nException Caught!&#x22;);
                Console.WriteLine(&#x22;Message :{0} &#x22;, e.Message);
            }
        }
        else
        {
            Console.WriteLine(&#x22;Invalid data value or domain URL is not set.&#x22;);
        }
    }
}

</pre>
<p><strong>PHP Source Code für das WordPress Plugin:</strong><br />
Das Plugin registriert zwei REST-API-Endpunkte: einen für GET-Anfragen, um Daten abzurufen, und einen für POST-Anfragen, um Daten zu aktualisieren. Jede Anfrage wird über eine Funktion verarbeitet, die den geheimen Schlüssel überprüft, um sicherzustellen, dass nur berechtigte Anfragen bearbeitet werden.</p>
<pre>
&#x3C;?php

 /*
  Plugin Name: HNP Win Data Handler
  Description: Handles data via custom REST API for an external C# application with security enhancements.
  Version: 1.0
  Author: HNP C.R.
  Author URI: https://homepage-nach-preis.de/
  License: GPLv3
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
  Shortcode: hnp_win_data_display
*/

define(&#x27;HNP_WIN_DATA_SECRET_KEY&#x27;, &#x27;9418BB768671A389&#x27;);  // Set your secret key here

// Register REST API routes
add_action(&#x27;rest_api_init&#x27;, function () {
    register_rest_route(&#x27;hnp-win-data/v1&#x27;, &#x27;/data&#x27;, array(
        &#x27;methods&#x27; =&#x3E; &#x27;GET&#x27;,
        &#x27;callback&#x27; =&#x3E; &#x27;hnp_win_data_get_data&#x27;,
        &#x27;permission_callback&#x27; =&#x3E; &#x27;hnp_win_data_check_secret_key&#x27;
    ));
    register_rest_route(&#x27;hnp-win-data/v1&#x27;, &#x27;/data&#x27;, array(
        &#x27;methods&#x27; =&#x3E; &#x27;POST&#x27;,
        &#x27;callback&#x27; =&#x3E; &#x27;hnp_win_data_set_data&#x27;,
        &#x27;permission_callback&#x27; =&#x3E; &#x27;hnp_win_data_check_secret_key&#x27;
    ));
});

// Function to handle GET request
function hnp_win_data_get_data(WP_REST_Request $request) {
    $value = get_option(&#x27;hnp_win_data_value&#x27;, &#x27;No data set.&#x27;);
    return new WP_REST_Response($value, 200);
}

// Function to handle POST request
function hnp_win_data_set_data(WP_REST_Request $request) {
    $data = $request-&#x3E;get_body();
    $clean_data = sanitize_text_field($data);
    update_option(&#x27;hnp_win_data_value&#x27;, $clean_data);
    return new WP_REST_Response(&#x27;Data updated successfully.&#x27;, 200);
}

// Permission check to validate secret key
function hnp_win_data_check_secret_key($request) {
    $headers = $request-&#x3E;get_headers();
    $provided_secret = $headers[&#x27;x_secret_key&#x27;][0] ?? &#x27;&#x27;;
    return $provided_secret === HNP_WIN_DATA_SECRET_KEY;
}

// Shortcode to display the data in the frontend
add_shortcode(&#x27;hnp_win_data_display&#x27;, &#x27;hnp_win_data_display_shortcode&#x27;);
function hnp_win_data_display_shortcode() {
    $value = get_option(&#x27;hnp_win_data_value&#x27;, &#x27;No data set.&#x27;);
    return esc_html($value);
}

</pre>
<p>Der HNP Win Data Handler ist ein Beispiel für die erfolgreiche Integration von Web- und Desktop-Technologien zur Datensynchronisation. Die Kombination aus einem WordPress-Plugin und einer C#-Anwendung bietet eine sichere und flexible Lösung für das Datenmanagement, die in vielen Geschäftsbereichen und Anwendungen nützlich sein kann. Mit seinem modularen Aufbau und der hohen Sicherheit stellt dieses System eine wertvolle Ressource für Entwickler dar, die in gemischten Technologieumgebungen arbeiten.</p>
<p>Der Beitrag <a rel="nofollow" href="https://homepage-nach-preis.de/2024/04/27/hnp-win-data-handler-datenaustausch-zwischen-wordpress-windows/">HNP Win Data Handler – Datenaustausch zwischen WordPress &#038; Windows</a> erschien zuerst auf <a rel="nofollow" href="https://homepage-nach-preis.de">Homepage nach Preis - Webseite erstellen lassen</a>. Geschrieben von <a rel="nofollow" href="https://homepage-nach-preis.de/author/homepageadmin/">Homepage-nach-Preis</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://homepage-nach-preis.de/2024/04/27/hnp-win-data-handler-datenaustausch-zwischen-wordpress-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>HNP WIN SHORTCODE Tool: Eine Revolution für WordPress</title>
		<link>https://homepage-nach-preis.de/2024/04/26/hnp-win-shortcode-tool-eine-revolution-fuer-wordpress/</link>
					<comments>https://homepage-nach-preis.de/2024/04/26/hnp-win-shortcode-tool-eine-revolution-fuer-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Homepage-nach-Preis]]></dc:creator>
		<pubDate>Fri, 26 Apr 2024 19:13:58 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Homepage]]></category>
		<category><![CDATA[Onlineshop]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Hook]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Verbindung]]></category>
		<category><![CDATA[Win]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://homepage-nach-preis.de/?p=8216</guid>

					<description><![CDATA[<p>Unbegrenzte Anpassung mit dem HNP WIN SHORTCODE Tool: Eine Revolution für WordPress In der Welt des Webdesigns und der Content-Verwaltungssysteme ist Flexibilität der Schlüssel. WordPress, das beliebte CMS, bietet bereits eine Vielzahl von Funktionen, aber was, wenn Sie noch weiter gehen möchten? Was ist, wenn Sie Ihre Inhalte noch individueller gestalten möchten? Hier kommt das HNP WIN SHORTCODE Tool ins Spiel &#8211; ein innovatives WordPress-Plugin in Kombination mit einer leistungsstarken Windows x64-Software, die Ihnen die unbegrenzte Erstellung und Anpassung von Shortcodes ermöglicht. Was ist das HNP WIN SHORTCODE Tool? Das HNP WIN SHORTCODE Tool besteht aus zwei Hauptkomponenten: einem WordPress-Plugin und einer Windows x64-Software. Zusammen ermöglichen sie die einfache Erstellung und Verwaltung von Shortcodes mit anpassbaren Inhalten direkt von Ihrem Desktop aus. Wie funktioniert es? Das WordPress-Plugin integriert sich nahtlos in Ihre WordPress-Installation. Nach der Installation und Aktivierung stehen Ihnen sofort alle Funktionen zur Verfügung. Sie können die Anzahl der Shortcodes festlegen und die Daten bearbeiten, alles direkt über das Backend von WordPress. Die Windows-Software bietet eine benutzerfreundliche Oberfläche, mit der Sie die Shortcodes und deren Inhalte laden und ändern können. Dank der Integration mit der WordPress-Rest-API können Sie die Änderungen direkt auf Ihrer Website veröffentlichen. Funktionen des WordPress-Plugins: Einfache....</p>
<p>Der Beitrag <a rel="nofollow" href="https://homepage-nach-preis.de/2024/04/26/hnp-win-shortcode-tool-eine-revolution-fuer-wordpress/">HNP WIN SHORTCODE Tool: Eine Revolution für WordPress</a> erschien zuerst auf <a rel="nofollow" href="https://homepage-nach-preis.de">Homepage nach Preis - Webseite erstellen lassen</a>. Geschrieben von <a rel="nofollow" href="https://homepage-nach-preis.de/author/homepageadmin/">Homepage-nach-Preis</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Unbegrenzte Anpassung mit dem HNP WIN SHORTCODE Tool: Eine Revolution für WordPress</strong></p>
<p>In der Welt des Webdesigns und der Content-Verwaltungssysteme ist Flexibilität der Schlüssel. WordPress, das beliebte CMS, bietet bereits eine Vielzahl von Funktionen, aber was, wenn Sie noch weiter gehen möchten? Was ist, wenn Sie Ihre Inhalte noch individueller gestalten möchten? Hier kommt das HNP WIN SHORTCODE Tool ins Spiel &#8211; ein innovatives WordPress-Plugin in Kombination mit einer leistungsstarken Windows x64-Software, die Ihnen die unbegrenzte Erstellung und Anpassung von Shortcodes ermöglicht.</p>
<h3>Was ist das HNP WIN SHORTCODE Tool?</h3>
<p>Das HNP WIN SHORTCODE Tool besteht aus zwei Hauptkomponenten: einem WordPress-Plugin und einer Windows x64-Software. Zusammen ermöglichen sie die einfache Erstellung und Verwaltung von Shortcodes mit anpassbaren Inhalten direkt von Ihrem Desktop aus.</p>
<h3>Wie funktioniert es?</h3>
<p>Das WordPress-Plugin integriert sich nahtlos in Ihre WordPress-Installation. Nach der Installation und Aktivierung stehen Ihnen sofort alle Funktionen zur Verfügung. Sie können die Anzahl der Shortcodes festlegen und die Daten bearbeiten, alles direkt über das Backend von WordPress.</p>
<p>Die Windows-Software bietet eine benutzerfreundliche Oberfläche, mit der Sie die Shortcodes und deren Inhalte laden und ändern können. Dank der Integration mit der WordPress-Rest-API können Sie die Änderungen direkt auf Ihrer Website veröffentlichen.</p>
<h3>Funktionen des WordPress-Plugins:</h3>
<ul>
<li><strong>Einfache Einrichtung:</strong> Installieren und aktivieren Sie das Plugin &#8211; der Rest ist optional, da das Plugin bereits vorkonfiguriert ist.</li>
<li><strong>Backend-Verwaltung:</strong> Eine eigene Backend-Seite im Admin-Dashboard von WordPress ermöglicht die Verwaltung der Shortcodes und ihrer Inhalte.</li>
<li><strong>Anpassung:</strong> Passen Sie die Anzahl der Shortcodes an und definieren Sie die Daten, die ausgelesen und geändert werden sollen.</li>
<li><strong>Sprachunabhängig:</strong> Das Plugin ist derzeit nur in Englisch verfügbar, aber da Sie die Inhalte der Shortcodes selbst bestimmen können, ist die Sprache irrelevant.</li>
<li><strong>Performance und Sicherheit:</strong> Das Plugin nutzt pures JavaScript und ist mit PHP 7.X und PHP 8.X kompatibel. Die REST-API ist durch einen Secret Key geschützt.</li>
</ul>
<h3>Funktionen der Windows-Software:</h3>
<ul>
<li><strong>Einfache Nutzung:</strong> Starten Sie die Anwendung auf einem Windows-64-Bit-System und geben Sie Ihre Domain-Adresse ein &#8211; mehr ist nicht nötig.</li>
<li><strong>Vielseitigkeit:</strong> Die Anwendung funktioniert auf Servern, Laptops und herkömmlichen Computern.</li>
<li><strong>Anpassungsmöglichkeiten:</strong> Ändern Sie den Secret Key, die Anzahl der Shortcodes und die Domain-Adresse nach Bedarf.</li>
<li><strong>Speicherungsfunktion:</strong> Die Anwendung merkt sich die letzten Einstellungen für einen bequemen Autostart.</li>
<li><strong>Performance und Sicherheit:</strong> Nutzt keine externen Bibliotheken außer denen von Python, Netcore und GTK. Die Datenübertragung zur WordPress-Website erfolgt über die REST-API mit einem Secret Key.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Mehr Informationen und Download:</strong><br />
<a href="https://shop.homepage-nach-preis.de/produkt/hnp-unlimiterte-shortcodes-schnitstelle-wordpress-windows-x64/" target="_blank" rel="nofollow noopener">https://shop.homepage-nach-preis.de/produkt/hnp-unlimiterte-shortcodes-schnitstelle-wordpress-windows-x64/</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://homepage-nach-preis.de/2024/04/26/hnp-win-shortcode-tool-eine-revolution-fuer-wordpress/">HNP WIN SHORTCODE Tool: Eine Revolution für WordPress</a> erschien zuerst auf <a rel="nofollow" href="https://homepage-nach-preis.de">Homepage nach Preis - Webseite erstellen lassen</a>. Geschrieben von <a rel="nofollow" href="https://homepage-nach-preis.de/author/homepageadmin/">Homepage-nach-Preis</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://homepage-nach-preis.de/2024/04/26/hnp-win-shortcode-tool-eine-revolution-fuer-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
