php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.11.2011, 00:12  
Neuer Benutzer
 
Registriert seit: 26.12.2009
Beiträge: 6
PHP-Kenntnisse:
Fortgeschritten
dasdingo befindet sich auf einem aufstrebenden Ast
Standard PHP Lizenzsystem. Ansätze gesucht

Hallo zusammen,

sicher ein leidiges Thema, aber nach langem Googlen mach ich dann jetzt doch mal einen Thread auf.

Es wäre toll, wenn jemand ein paar Ansätze ect. für mich hat (keine Codes oder fertige Systeme)

Also folgendes hab ich mir vorgestellt:
- Ein CMS soll mit einem Lizenzsystem geschützt werden.
- Das Lizenzsystem und alle Dateien in die es includiert wird, werden mit ioncube Verschlüsselt.
- Das Lizenzsyszem schickt bei JEDEM Aufrufen / pageview mittels file_get_contents() den Lizenzkey UND die Domain per _GET an einen Lizenzserver.
- Der Lizenzserver prüft, ob die Key / Domain Kombination übereinstimmt und print()et verschiedene Informationen aus (Lizenznehmer, Gültigkeitsdatum usw.)
- Diese Informationen werden dann im CMS verarbeitet.

Soweit bis jetzt.

Mir stellen sich jetzt aber folgende Probleme / Fragen:
1. Das CMS überprüft bei jedem Seitenaufruf die Lizenz. Ist diese ungültig, oder ist der Server nicht erreichbar, gibts einen die().
Problem: Performance?? & wenn der Lizenzserver mal einen kurzen Ausfall hat, sind in der Zeit alle anderen Seiten down.

2. Die Funktion file_get_contents() ist bei manchen Hostern mittels "allow_url_fopen" gesperrt (zB 1und1).
Problem: Der Kunde müsste das umstellen oder eine eigene php.ini erstellen. Machbar, aber schön ist das nicht.
(Punkt2 gelöst)


Meine Frage jetzt, ob es für die beiden "Problempunkte" andere Lösungsansätze gibt?
Ein Lösungsansatz für 1. wäre noch, dass man das Lizenzsyszem deaktiviert, wenn der Lizenzserver down ist. Das heißt in der Zeit hat jedes CMS vollen Zugriff. Was aber nicht schlimm wäre, weil das maximal ein paar min-Std im Jahr sind (wenn überhaupt).
Das Problem ist dann aber wieder, wenn "allow_url_fopen" auf OFF steht, gibt es ständig keine Verbindung zum Server und das Lizenzsystem wäre damit ausgehebelt.
Kann man das irgendwie im PHP-Code erzwingen?


Ich bin über jede Hilfe dankbar!

Liebe Grüße

Geändert von dasdingo (11.11.2011 um 12:38 Uhr). Grund: Punkt2 gelöst
dasdingo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.11.2011, 00:46  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Lies doch bitte erstmal die bereits bestehenden Threads. Oder welche Fragen wurden da nicht beantwortet? Sehe zumindest keine in diesem Posting ...
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online  
Alt 11.11.2011, 01:10  
Neuer Benutzer
 
Registriert seit: 26.12.2009
Beiträge: 6
PHP-Kenntnisse:
Fortgeschritten
dasdingo befindet sich auf einem aufstrebenden Ast
Standard

Wie gesagt, habe ich mich bereits lange mit dem Thema Beschäftigt.
Und mit Hilfe von Google und diesem Forum konnte ich meine anderen ~20 Fragen schon selbst beantworten.
Diese beiden allerdings nicht so speziell...

Könntest du mir dann bitte die Links zu der Beantwortung meiner Fragen schicken? Du scheinst sie ja zu kennen.
Das wäre super!
dasdingo ist offline  
Alt 11.11.2011, 09:45  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von dasdingo Beitrag anzeigen
Mir stellen sich jetzt aber folgende Probleme / Fragen:
1. Das CMS überprüft bei jedem Seitenaufruf die Lizenz. Ist diese ungültig, oder ist der Server nicht erreichbar, gibts einen die().
Problem: Performance?? & wenn der Lizenzserver mal einen kurzen Ausfall hat, sind in der Zeit alle anderen Seiten down.
Das sind zwei Fälle:
1.Lizenz ungültig => die();
2.Server nicht erreichbar => Lizenz ist gültig ...

Also nicht die Annahme, daß das System nach Prüfung auf Lizenz läuft, sondern daß das System bei Prüfung auf Ungültigkeit nicht mehr läuft.

Ich hoffe Du verstehst den Unterschied.
Zitat:
Zitat von dasdingo Beitrag anzeigen
2. Die Funktion file_get_contents() ist bei manchen Hostern mittels "allow_url_fopen" gesperrt (zB 1und1).
Problem: Der Kunde müsste das umstellen oder eine eigene php.ini erstellen. Machbar, aber schön ist das nicht.
Anstatt file_get_contents kannst Du auch eine andere Funktionalität (API,Rest ) benutzen ...
__________________
Webstammtisch Oldenburg
eisenhans ist offline  
Alt 11.11.2011, 09:53  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.141
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
Zitat von eisenhans Beitrag anzeigen
Ich hoffe Du verstehst den Unterschied.
= Unschuldig bis die Schuld bewiesen wurde

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline  
Alt 11.11.2011, 10:11  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von dasdingo Beitrag anzeigen
Ein Lösungsansatz für 1. wäre noch, dass man das Lizenzsyszem deaktiviert, wenn der Lizenzserver down ist. Das heißt in der Zeit hat jedes CMS vollen Zugriff. Was aber nicht schlimm wäre, weil das maximal ein paar min-Std im Jahr sind (wenn überhaupt).
Das Problem ist dann aber wieder, wenn "allow_url_fopen" auf OFF steht, gibt es ständig keine Verbindung zum Server und das Lizenzsystem wäre damit ausgehebelt.
Kann man das irgendwie im PHP-Code erzwingen?
Die Verbindung zu deinem Server lässt sich auf unterschiedlichste Arten blockieren, da hast du letztendlich gar keinen Einfluss drauf.

Wenn du andererseits die Verbindung unbedingt erforderlich machst, bekommst du möglicherweise schon bei kurzen Down-Zeiten Probleme mit der Produkthaftung - aber das Problem ist dir wahrscheinlich bewusst, sonst würdest du nicht fragen.

Wie wäre es mit einem anderen Überprüfungsansatz: Anstatt das Skript bei jedem Seitenaufruf nach Hause telefonieren zu lassen überprüfst du die Lizenz nur bei bestimmten administrativen Aktionen, z.B. bei der Installation und bei Updates. Dabei ist die Verbindung dann unbedingt erforderlich, ansonsten lässt sich das System gar nicht erst einrichten. Bzw. kannst du bei laufendem System aber nicht erfolgreicher Überprüfung der Lizenz zurückverfolgen, wo die nicht lizensierte Installation liegt und entsprechende Schritte einleiten.
fab ist offline  
Alt 11.11.2011, 10:21  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Oder so: Das System bekommt einen Lizenztoken vom Server zugewiesen (bei der Erstinstallation meinetwegen). Dieser wird an den Server bei der Lizenzprüfung übertragen. Der Token bleibt solange gültig bis der Server ihn als ungültig deklariert. Nachdem der Server das getan hat bekommt das System einen neuen Token.

Problem: Du musst sicherstellen das die Generierung des Tokens nicht "erkannt" werden kann. Davon ab kannst du Verfolgen wann sich welches System wie lange nicht mehr "gemeldet" hat.

cURL wäre eine Alternative zu allen Funktionen die allow_url_fopen vorraussetzen.
Ggf. helfen dir auch die Streamfunktionen wenn beides nicht verfügbar ist. Diese werden aber von open_basedir beeinflusst.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 11.11.2011, 12:37  
Neuer Benutzer
 
Registriert seit: 26.12.2009
Beiträge: 6
PHP-Kenntnisse:
Fortgeschritten
dasdingo befindet sich auf einem aufstrebenden Ast
Standard

Hallo

Danke erstmal für die Antworten.
@eisenhans: Ich sperre bei Ungültigkeit nur die Frontend, der Adminbereich ist weiterhin voll verfügbar... Falls du das damit sagen willst.

Problem 2 ist meiner Meinung nach gelöst.
Ich habe jetzt ein if/else abfrage erstellt. Entweder curl oder allow_url_fopen
eins von beidem wird ja wohl vorhanden sein, wenn nicht muss man es halt doch nach installieren. Aber ich glaube so hab ich einen Großteil der Hoster mit drin.

Zu Punkt 1:
Da sich durch die Lizenzprüfung außerdem die ParseTime um ca 100ms erhöht und wie schon erwähnt ein Serverausfall mir Probleme bringen kann, würde es auch reichen wenn die Lizenz nur 1x am Tag geprüft wird.

Um das zu erreichen muss ich aber irgendeine Information auf dem Server oder in der DB hinterlegen, welche die Gültigkeit speichert...
Problem ist hier wieder, wenn diese Information gefunden wird, kann sie umgangen werden.... (selbe Problem wie bei Dark Guardian)

Also ich kann keinesfalls hingehen und bei jedem Pageview die Lizenz prüfen lassen =\

@fab
Das Skript sollte schon 1x am Tag geprüft werden, da es zB auch zeitlich begrenzte Lizenzen gibt. Die würden ja dann ewig weiterlaufen, wenn man solche Aktionen nicht ausführt.
Aber auch hier ist das Problem, dass ich irgendwo auf dem Server die Information speichern muss.. IST Gültig
Nur wie, ohne dass es manipulierbar ist???

Lg
dasdingo ist offline  
Alt 11.11.2011, 12:39  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Fazit: Geht nicht oder nur mit entsprechenden Servererweiterungen. Das haben auch alle anderen Threads zum Thema ergeben. Ich schließ hier mal ab mit Verweis auf die Forensuche.

[MOD: Thread geschlossen]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Thema geschlossen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Php- / Magento Entwickler gesucht screenmaxx Gewerblich 0 12.07.2011 16:31
PHP Coder gesucht zur Optimierung einen Suchscriptes amadeus75 Gewerblich 0 28.08.2010 09:10
Browsergameteam gesucht wargott Beruflich 0 30.01.2010 12:53
Entwickler, PHP Programmierer, Webdesigner gesucht Talentgesucht Beitragsarchiv 2 04.10.2009 10:50
Junior iPhone Entwickler/in gesucht - mit PHP-Kenntnissen (Essen) osxpert Beitragsarchiv 0 10.09.2009 16:34
Erfahrener Programmierer PHP/mySQL in Berlin gesucht Tayton Beitragsarchiv 0 28.07.2009 19:01
BigSkull Studios-Verstärkung gesucht Nuc Beitragsarchiv 36 12.02.2009 17:05
PHP-Programmierer für ein Communityprojekt gesucht! Hollow Beitragsarchiv 1 30.12.2008 21:34
Designer Programmierer gesucht Teammitglieder gesucht mietmauldo Beitragsarchiv 3 23.11.2008 14:30
download-begrenzer - ansätze und strukturen gesucht XraYSoLo PHP Tipps 2008 2 01.10.2007 11:07
Redakteure für sehr großes Projekt gesucht Beitragsarchiv 1 19.08.2005 01:57
PHP Programmierer und Grafiker für größeres Projekt gesucht Beitragsarchiv 9 11.08.2005 22:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php lizenzsystem, php lizenzsystem ioncube, php code mit lizenzsystem, php linzenz system, lizenz system für cms, lizenz system, \allow_url_fopen\ gesperrt, php lizenssystem, lizenzschlüssel php

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum