Thread Lizenzierung in Perl (17 answers)
Opened by YAPD at 2015-11-18 00:17

YAPD
 2015-11-18 00:17
#182939 #182939
User since
2015-09-20
146 Artikel
BenutzerIn

user image
Guten Abend,

ich hätte eine grundsätzliche Frage zu der Programmierung eines
Lizenzierungs - Systems in Perl, also ohne grafische Oberflaeche :

Ich habe bereits 2 Scripts :

1. Das Server - Script :

Dieses läuft auf meinem Server & prüft auf einem Port des Servers
ankommende SSL Requests der Clients. Empfängt das Script eine SSL
Anfrage erscheint in der Konsole eine Erfolgs - Meldung. Im Prinzip
das Beispiel - Script der IO Doku :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl

# -----------------------------------------------------------------------------
use strict;
use warnings;

use IO::Socket::SSL;

# -----------------------------------------------------------------------------

# simple server

my $server = IO::Socket::SSL -> new(

# where to listen

LocalAddr => 'XX.XXX.XX.XX' ,
LocalPort => 8080 ,
Listen => 10 ,

# which certificate to offer
# with SNI support there can be different certificates per hostname

SSL_cert_file => 'www.meinedomain.de.pem' ,
SSL_key_file => 'www.meinedomain.de.key' ,

) or die "failed to listen: $!";

# accept client

my $client = $server->accept or die
"failed to accept or ssl handshake: !";

print "Erfolgreiche Authentifizierung" , "\n";

close( $client );


2. Das Client - Script :

Das Client - Script ist zwar eine TK - Anwendung. Dort frage ich aber
nur über 2 Eingabe - Felder User & PW ab & gebe diese an eine Sub -
Routine. Das wars. In der Sub - Routine passiert die eigentliche SSH -
Autentifizierung.

Dort mache ich im Prinzip nur Folgendes :

Code: (dl )
1
2
3
use IO::Socket::SSL;

my $Authentifizierung_Clients = IO::Socket::SSL->new( 'XX.XXX.XX.XX:8080' ) or die "Fehler bei der SSL - Verbindung !";


Führe ich das Server - Script auf meinem Server & das Client - Script
auf meinem Rechner aus, so funktioniert es & ich erhalte die Meldung
"Erfolgreiche Authentifizierung".

Details meines Servers :

o Virtual Server
o Oberflaeche PLESK
o Ubuntu 14.04
o MySQL Server
o Perl 5.18.2

Als Schritte für die Einrichtung des Lizenz - Systems denke ich
an folgende Vorgehensweise :

o Erstellung einer Tabelle ( Lizenzierung ) & des SQL - Users
"Lizenz_Pruefer" ( Nur Rechte für SELECT , INSERT & UPDATE ).

o Erstellung der der Felder : "Nr." , "Bezeichnung" , "Lizenz" ,
"Typ" , "Status" , "Ablauf"

o Ich erstelle als Beispiel in die Tabelle folgende Einträge :

-> 1 | Max Muster | F83R - T9SD - 5SI2 - U24T | Premium | Gültig | 01.04.2016
-> 2 | Hans Muster | ZG29 - EJ19 - 2YO2 - GM1D | Standard | Nicht Gültig | 01.11.2015

Hier ist nun der Knackpunkt :

Ich habe am Anfang meines Client Scripts ( Nicht in diesem Betrag )
2 Eingabe - Felder in einer TK Umgebung für die Bezeichnung des
Nutzers & die Lizenz.

Wie übergebe ich bei folgendem Aufruf diese 2 Werte, die ich ja
für die Vergleiche auf der DB brauche.

Und die nächste Frage wäre, wenn ich Status & Ablauf - Datum aus
der DB auslese, wie ich diese Werte wieder an das Client - Script
zurück gebe ?

Wenn ihr andere Ansätze für die Umsetzung dieses "Projekts" habt,
wäre ich sehr dankbar für Eure Hilfe.

Viele Grüße
YAPD
Last edited: 2015-11-18 20:05:16 +0100 (CET)
Yet Another Perl Developer

View full thread Lizenzierung in Perl