Lizenz/Version online prüfen

radarin

Angesehenes Mitglied
Hallo zusammen
Ich möchte gerne, dass mein PHP-Script selbsständig prüft, ob es eine neuere Version gibt, und ob die Lizenz gültig ist. Dabei sollte es also Daten von meiner Webseite auslesen können, hne das dem User dies Auffällt, solange es nichts zu beanstanden gibt. Ich hab schon Scripte gesehen die sowas machen, hab aber nicht herausgefunden wie ich dies umsetzen könnte. Hat jemand eine Idee?

Gruss René
 
wir haben sowas mal so gelöst.

die lizenz daten , kundennummer wurden in ner db gespeichert.
auf dem server hatten wir ne einfache txt file wo die versions nummer drinn stand zb "1.5"

nun hat das programm in regelmässigen abständen (cronjob, include) überprüft ob die seine versionsnummer übereinstimmt mit dem auf dem server...
dann hat er die ensprechnenden meldungen ausgegeben

so einfach war das
 
Danke für die Info. Unter dem Stichwort Cronjob finde ich was mit Automatisierung. Aber ein Include einer Seite auf einem anderen Server funktioniert soweit ich schon mal ausprobiert habe nicht.
 
includen bezieht sich nicht unbedingt auf die gleichnamige php funktion.
Du kannst die Datei z.B. auch Problemlos mit fopen oeffnen.

MfG
GP
 
QUOTE (radarin @ So 13.01.2008, 20:38)Danke für die Info. Unter dem Stichwort Cronjob finde ich was mit Automatisierung. Aber ein Include einer Seite auf einem anderen Server funktioniert soweit ich schon mal ausprobiert habe nicht.

Hallo,

ich glaub Du meinst die Option allow_url_fopen in PHP. Die muss auf on sein damit der Server erlaubt Skripte von anderen Servern (zu laden) auszuführen. Damit würde man sich aber bildlich gesehen einen Strick um den Hals legen und andere darum anbetteln gehackt zu werden.

Einen schlichten Text kannst Du natürlich auch mit include in dein Skript einbauen.
Es werden lediglich keine Befehle ausgeführt! Das muss ja auch nicht sein wenn Du einfach nur die Versionsnummern anzeigst.

Hab ich auch einmal in einem Skript so gemacht.

Probyte

PS: Man hab ich mir was zusammengeschrieben. Man sollte nie eine Antwort posten wenn gerade die Freundin von allem ablenkt!!
 
Externer Code muss nicht zwingend ausgeführt werden können, es reicht wenn ich einen String aus einem Textfile auf meinem Server in das Script einlesen kann, das auf einem fremden Server läuft.
 
Du könntest es so lösen:

Du hast irgendwo ein PHP Script. Dieses Script rufst Du von DEINEM Server aus auf. z.B. version.php?v=1.8

Wenn der User auf dem Server die V. 1.5 installiert hat, dann kannst Du z.B. Einen DB eIntrag machen, mit dem Hinweis dass er updaten soll.

Es gibt das 1000 Ansätze. Aber alle Arten von Code welche nach aussen kommunizieren müssen verdammt sauber und Secure sein!
 
QUOTE
Du hast irgendwo ein PHP Script. Dieses Script rufst Du von DEINEM Server aus auf. z.B. version.php?v=1.8



Bei diesem Ansatz bekomme ICH die Meldung dass der Benutzer updaten sollte, aber es soll ja umgekehrt sein.

Ich weiss ja nicht WO meine Scripte laufen, ich registriere lediglich regelmässige Downloads. Ich hab mir schon überlegt ein mail() in den Script zu integrieren, das mir die URL sendet. Allerdings habe ich noch keinen Ansatz wie ich es lösen soll, dass es nicht bei jedem Aufruf gemacht wird. Cookie geht ja nicht, da es mehrere User sind die das Script aufrufen. Bei Scripten mit Adminbereich könnte ich es da integrieren.

Ich kann natürlich im Script einen sichtbaren Link integrieren, der eine Seite auf MEINEM Server aufruft und dem Benutzer dann sagt ob er aktuell ist. Das ist von der Sicherheit auch kein Problem. Aber ich hätte es ja gerne so, dass dies ohne Zutun des Benutzers passiert. Sollte ich mich entscheiden, mein Galleryscript als Shareware anzubieten, dann sollte nur ein Lizenzierter User dieses benutzen können und es auch nicht mit dem Schlüssel weiter geben können.
 
Bei meinem Ansatz muss Du natürlich wissen, wo Dein Script läuft.

Aber das ist ja auch kein Problem...
Bei jedem Login auf dem Admin interface kannst Du ja die Installations URL senden, sonimt weisst Du wo version.php läuft.

Und immer wenn Du ein Update machst, kannst Du alle installationen anpingen.
 
Ich gebe sd12 vollkommen recht. Rumbiegen ist einfach immer ein Risiko.
Hab es eben einmal getestet. Ein include von einer anderen Seite geht auf meinem Server erst gar nicht.
Ich hab das alles abgeschaltet. Ob code oder nur text scheint dann keine Rolle zu spielen!

Setz einfach einen Button oder Link in das Adminmenü nach dem Motto Version prüfen (und den Rest auf deine Seite).

Oder mach ein iframe (wen es denn sein muss).
Oder 2 Bildchen (1 bild zeigt die aktuelle Version das andere die vom Kunden / Bilder kann man ja von einer anderen url laden).

Zum Thema allow_url_fopen auf on stellen:
Die 1+1 Webserver haben meist die PHP Option allow_url_fopen auf on stehen. Darum hat man die Webseite eines Bekannten manipulieren können. Die Typen haben einfach bei einem Formular die url des eigenen Skriptes übergeben, welches dank 1+1 Standardeinstellung von PHP dann brav ausgeführt wurde.
Ergebnis war dann eine Fishingside der imitierten "Bank of Amerika". 1+1 Beschwerte sich dann bei meinem Bekannten
das er so viele Mails versenden würde (dadurch viel es auf). Als alles dann wieder o.k war (und sicher) stellte ich fest.

1. Bei der Bank of Amerika gab es kein Interesse daran was passiert war und wer das getan hat. Regierten auf meine Briefe nicht.
2. 1+1 vertrat die Meinung: Der Kunde muss selbst schauen das ihm nichts passiert. Sicherheitslücken in der Serverkonfiguration habe man nicht weil Zitat: "man habe eine gute Firewall!"

Fragt sich was die PHP Option mit einer Firewall zutun hat ?
Ach ja und die Polizei bei der mein Bekannter Anzeige erstatten wollte drohte damit seinen PC zu beschlagnahmen. Denn Zitat: "Er müsse da einen Virus haben wenn das alles so war". und Zitat: "wenn eine Webseite von einem Privatanschluss erstellt wurde (und keinen Firmenanschluss) könne der Webmaster folglich ohnehin keine Ahnung haben.

Sorry ich hoffe ich habe hier niemanden genervt mit meinem Text.
Viel mir nur zu dem Thema ein "Datei einbinden von einer anderen Webseite".

Probyte
 
ph34r.gif
tongue.gif


Da wird der Webmaster schon mal kriminalisiert.

Mein Galleryscript z.B. hat keinen Adminbereich, da die 'Administration' dem FTP-Progi überlassen wird. Werde mir da weiter Gedanken drüber machen.

Danke Euch.
 
Denke die Option einen Link in Dein Skript ein zu bauen welches als Parameter die Versionsnummer übergibt (an Deine Webseite, die dann nachschaut ob die Version aktuell ist) ist am praktischsten. Wie bereits vorgeschlagen.
Falls die Version nicht aktuell ist könnte man dann direkt den Download anbieten ?
Würde dann aber auch nur gehen wenn der Benutzer erst aktiv etwas auslöst.

Wenn Dir etwas einfällt wie man das ganze "einfach" lösen kann ohne das der User etwas anklickt und OHNE Include von der anderen Seite würde mich das auch interessieren.

Die Versionsnummer als Grafik würde ja nur anzeigen ob das Skript aktuell ist (aber nichts direkt melden) es sei denn man
vergleicht die Bilddateien miteinander und stellt so fest das die Version des Kunden mit der eigenen ungleich ist.

Wenn du das per FTP machst (mit den Bildern) erstellst Du etwa auch die Vorschaubilder noch selbst ?

Probyte
 
Ein sichtbarer Link ist bestimmt das Einfachste, und darauf wird es vorerst wohl hinaus laufen. Besser wäre es natürlich, wenn der User das nicht selber prüfen muss, denn die meisten werden das wohl kaum machen, oder zu selten. Ausserdem soll nur der Admin den Link sehen, für alle Anderen ist dieser eh nicht relevant.

Ich habe schon diverse PHP-Gallerys getestet, allerdings finde ich den Upload zu umständlich. Entweder jedes Bild einzeln ins Formular wählen ist der Horror. Ein Zip auf dem Server entpacken oder die Thums generieren benötigt weitere Zusatzinstallationen, die nicht überall vorhanden sind.

Ich mache die Thumbs auf dem PC mit einem gesonderten Programm, auf dem Mac nehme ich den Photoshop. Mein Script wertet nun einfach die Verzeichnisstruktur aus und stellt die Inhalte dar. Finde ich so wesentlich bequemer. Ausserdem kommt es ohne Datenbank aus. Für die Integration umfangreicher Texte und Bildunterschriften werde ich in der neuen Version eine optionale DB integrieren. In diesem Fall hat der User dann einen Adminbereich.
 
Zurück
Oben