<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.sourceway.de/index.php?action=history&amp;feed=atom&amp;title=Lizenzsystem_einbauen</id>
		<title>Lizenzsystem einbauen - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.sourceway.de/index.php?action=history&amp;feed=atom&amp;title=Lizenzsystem_einbauen"/>
		<link rel="alternate" type="text/html" href="https://wiki.sourceway.de/index.php?title=Lizenzsystem_einbauen&amp;action=history"/>
		<updated>2026-05-03T17:05:31Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in sourceDESK Wiki</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://wiki.sourceway.de/index.php?title=Lizenzsystem_einbauen&amp;diff=314&amp;oldid=prev</id>
		<title>Richard Reiber: Die Seite wurde neu angelegt: „sourceDESK bietet ein integriertes Lizenzsystem für den Vertrieb von lizensierten Software-Produkten. Hierfür generiert sourceDESK für jede gekaufte Ins…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.sourceway.de/index.php?title=Lizenzsystem_einbauen&amp;diff=314&amp;oldid=prev"/>
				<updated>2018-10-04T22:04:00Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „sourceDESK bietet ein integriertes &lt;a href=&quot;/index.php?title=Lizenzsystem&quot; title=&quot;Lizenzsystem&quot;&gt;Lizenzsystem&lt;/a&gt; für den Vertrieb von lizensierten Software-Produkten. Hierfür generiert sourceDESK für jede gekaufte Ins…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;sourceDESK bietet ein integriertes [[Lizenzsystem]] für den Vertrieb von lizensierten Software-Produkten. Hierfür generiert sourceDESK für jede gekaufte Instanz des [[Produkte|Produktes]] einen Lizenz-Schlüssel, der dem Kunden angezeigt wird und den dieser in die zu lizensierende Software eintragen muss. Dieser Schlüssel wird dann immer nach einer gewissen Cache-Zeit validiert.&lt;br /&gt;
&lt;br /&gt;
Eine Beispiel-Implementierung des Lizenzsystems in PHP sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function sd_licenseCheck($licenseKey = &amp;quot;&amp;quot;, $cacheKey = &amp;quot;&amp;quot;, $r = false){&lt;br /&gt;
    /* Please insert the secret shown in the product configuration in sourceDESK here */&lt;br /&gt;
    $secret = &amp;quot;123456&amp;quot;;&lt;br /&gt;
    /* Please insert the number of directory should be removed from the path end */&lt;br /&gt;
    $rmdir = 0;&lt;br /&gt;
    /* Please insert the ID of the product */&lt;br /&gt;
    $pid = 123;&lt;br /&gt;
    /* Please insert the URL to sourceDESK */&lt;br /&gt;
    $url = &amp;quot;https://sourceway.de/&amp;quot;;&lt;br /&gt;
    /* DO NOT CHANGE ANYTHING BELOW THIS LINE */&lt;br /&gt;
&lt;br /&gt;
    $host = $_SERVER['SERVER_NAME'];&lt;br /&gt;
    $ip = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR'];&lt;br /&gt;
    $dir = $rmdir &amp;gt; 0 ? implode(&amp;quot;/&amp;quot;, array_splice(explode(&amp;quot;/&amp;quot;, __DIR__), 0, $rmdir / -1)) : __DIR__;&lt;br /&gt;
&lt;br /&gt;
    if(!empty($cacheKey)){&lt;br /&gt;
        $ex = explode(&amp;quot;|&amp;quot;, $cacheKey);&lt;br /&gt;
        if(&lt;br /&gt;
            count($ex) == 6 &amp;amp;&amp;amp;&lt;br /&gt;
            $pid == $ex[0] &amp;amp;&amp;amp; &lt;br /&gt;
            ($ex[1] == &amp;quot;all&amp;quot; || in_array($host, explode(&amp;quot;,&amp;quot;, $ex[1]))) &amp;amp;&amp;amp; &lt;br /&gt;
            ($ex[2] == &amp;quot;all&amp;quot; || in_array($ip, explode(&amp;quot;,&amp;quot;, $ex[2]))) &amp;amp;&amp;amp; &lt;br /&gt;
            ($ex[3] == &amp;quot;all&amp;quot; || in_array($dir, explode(&amp;quot;,&amp;quot;, $ex[3]))) &amp;amp;&amp;amp; &lt;br /&gt;
            strtotime($ex[4]) &amp;gt;= strtotime(date(&amp;quot;Y-m-d&amp;quot;)) &amp;amp;&amp;amp; &lt;br /&gt;
            $ex[5] == hash(&amp;quot;sha512&amp;quot;, $secret . implode(&amp;quot;|&amp;quot;, array_splice($ex, 0, 5)))&lt;br /&gt;
        ) return Array(true, $cacheKey);&lt;br /&gt;
        else if($r) return Array(false, &amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if(empty($licenseKey)) return Array(false, &amp;quot;&amp;quot;);&lt;br /&gt;
    $url = rtrim($url, &amp;quot;/&amp;quot;) . &amp;quot;/api/license/info?key=&amp;quot; . urlencode($licenseKey) . &amp;quot;&amp;amp;dir=&amp;quot; . urlencode($dir);&lt;br /&gt;
    $res = @file_get_contents($url);&lt;br /&gt;
    if(!$res || !($res = json_decode($res)) || empty($res-&amp;gt;cacheKey)) return Array(false, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    return sd_licenseCheck($licenseKey, $res-&amp;gt;data-&amp;gt;cacheKey, true);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie müssen sicherstellen, dass es dem Nutzer nicht möglich ist, das Lizenzsystem einfach so zu entfernen.&lt;/div&gt;</summary>
		<author><name>Richard Reiber</name></author>	</entry>

	</feed>