Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9210[/thread]

Ganz simples User management?

Leser: 3


<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten
FlorianL
 2007-07-20 11:06
#78681 #78681
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
moin zusammen,
ich möchte mir ne kleine loginshell basteln die natürlich auch eine simple userverwaltung beinhalten soll, leider werde ich gerad aus CPAN:User::Simple nicht schlau, setzen die Vorraus das man mit DBI schon ein db-handle offen hat?

hat einer von euch noch so nen code-schnippsel rumfliegen? kann echt was simples sein, kein sql oder sowas überdimensioniertes, denn es wird wirklich nur user und pass in der db gespeichert...


edit: Vergesst das mit dem login erstmal, ich werd wohl doch ne mysql db ansprechen um nachher auch ne webauswertung zu generieren, ich fummel ma was rum und hab später bestimmt noch ne frage :)\n\n

<!--EDIT|FlorianL|1184915778-->
renee
 2007-07-20 11:16
#78682 #78682
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, $db muss ein Datenbank-Handle sein... Ich habe mit dem Modul noch nicht gearbeitet, kann also keinen Code liefern...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
FlorianL
 2007-07-20 11:29
#78683 #78683
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
noch ne frage: das programm das ich aus meiner perl-login shell heraus aufrufe bezieht seine parameter über ENV Variablen, wenn ich nun ein perl script als loginshell aufrufe, existiert dann überhaupt soetwas wie enviroment variables?
renee
 2007-07-20 11:42
#78684 #78684
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja,

Code (perl): (dl )
1
2
3
4
5
6
#!/usr/bin/perl

use strict;
use warnings;

print sprintf "%s :: %s\n", $_, $ENV{$_} for keys %ENV;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
FlorianL
 2007-07-20 11:55
#78685 #78685
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
danke fürs ausprobieren reen, freut mich das das funzt, meine sql connection funzt auch soweit, jetz muss ich nurnoch das login vieh ans rennen bekommen :)
RPerl
 2007-07-20 12:00
#78686 #78686
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Hallo,

ich persoenlich wuerde es versuchen weitgehend ohne dieses Modul zu loesen. Sollte auch nicht weiter schwer sein. In MySQL eine DB mit einer Table und zwei Columns "user" u. "pass" erstellen. Mit Perl dann die entsprechenden Daten fetchen (Subfunktion), diese dann weiterleiten an eine andere Subfunktion, die die eingegebenen Daten verifiziert und entsprechend reagiert.
Aufpassen wuerde ich allerdings auf die Berechtigung. Die Daten, die zum Login in die DB benoetigt werden, sollten auch wirklich nur fuer authorisierte Personen sichtbar sein - aber ist ja eigentlich klar.

Gruß,

rPerl

p.s.: Frage an renee: Kann man denn ueberhaupt von der Konsole mit dem MySQL-Modul arbeiten? Muesste schon gehen, warum auch nicht, oder?
bieber
 2007-07-20 12:23
#78687 #78687
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
da hätte ich dann auch mal gleich ne Frage zu, wenn man schon Passwörter in eine Datenbank schreibt, kann man die nicht gleich mit verschlüsseln?!

in php hab ich sowas vor langer Zeit einfach mit ner md5-Funktion gemacht oder so in der art^^ schon zu lange her

gibts das auch für Perl?! oder was ähnliches?
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
renee
 2007-07-20 12:39
#78688 #78688
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=RPerl,20.07.2007, 10:00][...]
p.s.: Frage an renee: Kann man denn ueberhaupt von der Konsole mit dem MySQL-Modul arbeiten? Muesste schon gehen, warum auch nicht, oder?[/quote]
Wie meinst Du das?

Wenn Du meinst, ob auch Konsolenprogramme mit DBI auf MySQL zugreifen können, dann: JA!

Wenn Du das nicht meinst, musst Du die Frage nochmal erläutern.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-07-20 12:40
#78689 #78689
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=bieber,20.07.2007, 10:23][...]

in php hab ich sowas vor langer Zeit einfach mit ner md5-Funktion gemacht oder so in der art^^ schon zu lange her

gibts das auch für Perl?! oder was ähnliches?[/quote]
Nicht als built-in-Funktion, aber wofür haben wir denn CPAN?

CPAN:Digest::MD5 und das Modul ist seit Perl 5.7.3 im CORE...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
FlorianL
 2007-07-20 12:55
#78690 #78690
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
@RPerl:

du hast mich überzeugt, ich werd Simple::Login weglassen, aber kannst du mir ne kleine hilfestellung geben? ist mein erster versuch mit DBI, und sql statements muss ich auch jedes mal nachschlagen :/

Script mit Pseudo-Code
Code (perl): (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
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/perl
use warnings;
use strict;
use DBI;

my $gamebin = "/usr/games/slashem";

### DB ###
my $database = "nethack";
my $hostname = "127.0.0.1";
my $dsn      = "DBI:mysql:database=$database;host=$hostname";
my $dbuser   = "nethack";
my $dbpasswd = 'whatApa55';
my $dbh = DBI->connect( $dsn, $dbuser, $dbpasswd, {RaiseError => 1, AutoCommit => 0} ) || die $DBI::errstr;

### SUBS ###
sub countusers {
        my $sth = $dbh->prepare( q{ SELECT username from users });
        my $rc = $sth->execute;
        print "$sth->{NUM_OF_FIELDS}";
        $dbh->disconnect;
}
sub auth {
        my ($login, $password) = shift;
        # Hier brauch ich hilfe
}

sub game {
        system("clear");
        print("Hello welcome to SlashEm!\n\nSlashEm is a modification of the great NetHack Game...\nMore Info: http://nethack.org/v343/Guidebook.html or press '?' ingame...");
        sleep("5");
        print("Login: ");
        chomp(my $login = <STDIN>);
        print("\nPassword: ");
        chomp(my $password = <STDIN>);
        auth($login, $password);
# wenn login = nicht vorhanden, neu erstellen: createuser();
# wenn login vorhanden, passwort abgleichen;
# wenn pass falsch -> exit;
# wenn pass richtig -> login fertig;
        system("clear");
        print("You enter the World of SlashEm... Currently there are", countusers(), "Users registered\n\n");
        sleep("2");
}


### MAIN ###
#system("$gamebin -u $name");
<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten



View all threads created 2007-07-20 11:06.