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

Überprüfung von Passwort: stimmt die Struktur eines Passwort



<< |< 1 2 >| >> 15 entries, 2 pages
elfe
 2005-09-26 11:24
#5675 #5675
User since
2005-09-26
6 articles
BenutzerIn
[default_avatar]
Ich möchte eine bestehende Überprüfung abändern - aber wie?

bisher wird überprüft ob eine ID in einer ID.txt vorhanden ist - ID ist also wie ein Passwort zu verstehen.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if(-f "$data_path/ID.txt"){
open(ID,"$data_path/ID.txt");
@ID = <ID>;
close(ID);
foreach $ID(@ID){
chomp($ID);
$ID =~ s/[\n|\r]//g;;
$IDOK = "NEIN";
if($FORM{'ID'} eq $ID){

$IDOK = "JA";

last;
}
}
if($IDOK ne "JA"){
&Show_Error('Your ID is not correct.<br>Ihre ID ist nicht richtig.');
}
}


Es soll aber nur noch überprüft werden, ob die eingegebene ID am Ende "01" hat ansonsten nur aus Zahlen 0-9 besteht und 6-8 Zahlen lang ist: z.B. 12345601 oder 888801

Hat hier jemand eine einfache Lösung

elfe
Taulmarill
 2005-09-26 12:38
#5676 #5676
User since
2004-02-19
1750 articles
BenutzerIn

user image
hier ein wenig beispielcode:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use strict;
use warnings;

my $id = '6543201';

if ( $id !~ /\D/ ) {
print "die ID besteht nur aus ziffern.\n";
}

if ( $id =~ /01$/ ) {
print "die ID endet auf 01.\n";
}

if ( length $id >= 6 and length $id <= 8 ) {
print "die ID hat mehr als 6 und weniger als 8 zeichen.\n";
}


lese perldoc perlrequick und perldoc perlretut bzw. das kapitel über reguläre ausdrücke in einem buch deines geringsten misstrauens und perldoc -f length.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
renee
 2005-09-26 14:04
#5677 #5677
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Kann man zusammenfassen:
Code: (dl )
1
2
3
4
5
my $id = '6543201';

if ( $id =~ /^[0-9]*01$/ ) {
print "die ID endet auf 01 und besteht nur aus Ziffern.\n";
}
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/
Taulmarill
 2005-09-26 15:17
#5678 #5678
User since
2004-02-19
1750 articles
BenutzerIn

user image
mein vorschlag für eine kombinierte prüfung währe:
Code: (dl )
1
2
3
4
5
6
7
8
my $id = '876a43201';

if ( $id =~ /^\d{4,6}01$/ ) {
print "die ID ist gueltig.\n";
}
else {
print "die ID ist ungueltig.\n";
}

oder ganz kurz:
Code: (dl )
print "die ID ist " . ( $id =~ /^\d{4,6}01$/ ? "" : "un" ) . "gueltig.\n";
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
renee
 2005-09-26 16:21
#5679 #5679
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
jepp, habe die Längenangaben überlesen...
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/
elfe
 2005-09-26 17:50
#5680 #5680
User since
2005-09-26
6 articles
BenutzerIn
[default_avatar]
Hey danke für eure Ideen und Hilfe - ich habe mich erst seit kurzer Zeit mit Perl beschäftigt und das Problem diese Überprüfung zu ändern ist vielleicht einfach (für euch Experten) aber für mich bisher eine Herausforderung.
Könnte dieses also richtig sein?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
elsif ($action eq 'add_account'){
# START - Nur Anmelder mit einer passenden ID  mit 01 am Ende sind zur Anmeldung berechtigt
if ( $ID =~ /^\d{4,6}01$/ ){
&Add_Account;
 }
else {
&Show_Error('Your ID is not correct.<br>Ihre ID ist nicht richtig.');
 }
# ENDE - Nur Anmelder mit einer ID aus ID.txt sind zur Anmeldung berechtigt
}
renee
 2005-09-26 18:09
#5681 #5681
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
ja, sieht korrekt aus - vorausgesetzt, es gibt die Methoden Add_Account und Show_Error
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/
elfe
 2005-09-26 18:26
#5682 #5682
User since
2005-09-26
6 articles
BenutzerIn
[default_avatar]
Ja die gibt es - das hat man bei meinem ersten Codeausschnitt nicht ganz sehen können - der oder die stammen schon aus der bisherigen Routine. Ich bin mal gespannt ob das alles klappt!?

elfe
renee
 2005-09-26 18:37
#5683 #5683
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Bei Fehlermeldung weiszt Du ja, wo Du Dich melden musst ;)
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/
elfe
 2005-09-27 00:16
#5684 #5684
User since
2005-09-26
6 articles
BenutzerIn
[default_avatar]
Leider funktionierts so nicht!

Eine Idee woran das liegen könnte habe ich noch nicht - versteht jemand die ursprüngliche Abfrage 100%ig und kann mir eq un ne erklären?
Hat jemand vielleicht eine Idee wie ich eine umkehrung hinbekomme d.h. in der Datei mit der verglichen wird eine "ultimative" ID mit Platzhaltern bereitstelle - ist nur so eine Idee! Oder wie ich alle möglichen IDs von 6 bis 8 Stellig mit einem Programm generiere - auch nur eine Idee um das Problem zu lösen - schöner wäre natürlich Perl so zu beherschen, das ich hierbei eure Hilfe nicht bräuchte!

elfe
<< |< 1 2 >| >> 15 entries, 2 pages



View all threads created 2005-09-26 11:24.