Schrift
[thread]10607[/thread]

Wie kann man Username und Passwort übergeben?

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
leissi
 2007-10-18 12:28
#101002 #101002
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hallo,

mein Script läuft und man kann die verschiedensten SQL Abfragen generieren. Mein Problem ist aber das in meinem Script die Anmeldung hart codiert ist. Das heisst Username und Passwort stehen im Script. Ich wollte aber diese nicht im Script drin stehen haben, sondern durch Eingabe übergeben. Mit <STDIN> funktioniert es nicht. Wie kann ich das dann machen?
Mein Script:
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
49
50
51
52
53
54
##########################################################################################
#Connection SQL-Datenbank
#
##########################################################################################
# Globals
my $SQL_SERVER_USER     = 'xxxxx';
my $SQL_SERVER_PASSWORD = 'xxxxxxxx';


my $dbh = DBI->connect($Datenbank,$SQL_SERVER_USER, $SQL_SERVER_PASSWORD) or die print LogDatei1 "Fehler bei Datenbankverbindung: $! \n\n";
print LogDatei1 "Datenbank Connecting war ok! USER ist angemeldet! $tm \n\n";

my $sth;                        # statement handle
my $name = '_qcsiteadmin_db';
my $table_ref;

##########################################################################################
##########################################################################################
# Hauptprogramm Hier werden die SQL Abfragen gestartet
##########################################################################################
##########################################################################################
my $query = $dbh->prepare($SQLABFRAGE)or die print LogDatei1 "Fehler bei Datenbankabfrage: $! \n\n";
$query->execute;
print LogDatei1 "Absetzen der Datenbankabfrage war erfolgreich! \n\n";
# in dem namensraum deklarieren
my ($id, $zweitesfeld, $drittesfeld);

# binden der variablen an die felder
$query->bind_col(1,\$id);
$query->bind_col(2,\$zweitesfeld);
$query->bind_col(3,\$drittesfeld);
# ausgabe

print LogDatei2 "USER-ID               EMAIL                                                                             FULL_NAME    \n";
print LogDatei2 "==================    ======================================================                            ======================= \n\n";
while  (($id, $zweitesfeld, $drittesfeld) = $query->fetchrow_array() )
   {
      foreach ($id, $zweitesfeld, $drittesfeld){
         $_ = "N/A" unless defined $_;
      }
      printf LogDatei2 "%-20s  %-80s  %-32s  %s \n" , $id, $zweitesfeld, $drittesfeld;
      
    }
print LogDatei1 "Datenbankabfrage konnte erfolgreich abgesetzt werden!\n\n";    


########################################################################################
#Datenbank schliessen
#Programm beenden
########################################################################################  

$dbh->disconnect()or die print LogDatei1 "Fehler beim disconnecten der Datenbank! \n\n";
print LogDatei1 "Verbindung zur Datenbank wurde beendet. Ergebnis wurde in die SQL_MAILADRESSEN.txt geschrieben!\n\n";
exit;

Danke für eure Hilfe
Leissi
renee
 2007-10-18 13:05
#101004 #101004
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Warum sollte das mit STDIN nicht funktionieren? Hast Du nach der Eingabe den Befehl chomp verwendet? Gab's ne Fehlermeldung?
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/
leissi
 2007-10-18 13:12
#101005 #101005
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi, also ich hatte es eingegeben (<STDIN>) Eingabe war danach auch am Bildschirm möglich, aber es kam dann der Fehler das das connecten fehlschlug. Fehlermeldung verwies auf fehlerhafte Anmeldung.

Kann mir jemand mal ein Beispiel liefern?

Fehlermeldung lautet:
(SQL-28000)(DBD: db_login/SQLConnect err=-1) at D:\Perl\DB_ABFRAGE\TEST_2.pl line 64

Hab auch abgeändert auf:
Code (perl): (dl )
1
2
3
4
5
6
 chomp (my $SQL_SERVER_USER     = <STDIN>);

 chomp ( my $SQL_SERVER_PASSWORD = <STDIN>);


my $dbh = DBI->connect($Datenbank,$SQL_SERVER_USER, $SQL_SERVER_PASSWORD) or die print LogDatei1 "Fehler bei Datenbankverbindung! \n\n";


Gruss
Leissi
pq
 2007-10-18 13:45
#101006 #101006
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
simple antwort: wenn es mit einem festkodierten string geht und mit einem über
STDIN eingegeben string nicht, was folgere ich daraus? richtig, die strings
müssen unterschiedlich sein. woran soll es sonst liegen?
der erste punkt wäre also, dass du ein bisschen debugging betreibst und dir
den connect-string ausgeben lässt (Data::Dumper kennst du ja hoffentlich,
du bist ja schon eine weile im forum).

übrigens liefert dir DBI auch den grund für ein fehlgeschlagenes connect. willst
du den gar nicht wissen?
am besten einmal http://perloo.de/DBI/ durchlesen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
leissi
 2007-10-18 15:51
#101018 #101018
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi pq

also erstmal eh du mich hier haust grund für den fehlgeschlagenen connect lautet falscher User bzw. fehlerhaftes Password.
Zweitens der übergebene Wert (USERNAME etc) wird mit einem Sonderzeichen übergeben woher der kommt keine Ahnung.
Code: (dl )
1
2
3
simple antwort: wenn es mit einem festkodierten string geht und mit einem über
STDIN eingegeben string nicht, was folgere ich daraus? richtig, die strings
müssen unterschiedlich sein. woran soll es sonst liegen?

Soweit war ich schon. Aber trotzdem Danke für die nette Antwort.

Gruss

Leissi
renee
 2007-10-18 16:00
#101020 #101020
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Welches Sonderzeichen denn? Ist das wirklich der richtige Code, den Du oben gepostet hast?
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/
leissi
 2007-10-18 17:25
#101032 #101032
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi renee,

also beim Benutzen des <STDIN> macht er hinter jeder Eingabe ein sieht aus wie ein Viereck (wird jedenfalls bei meiner Prüfung so angezeigt), ist aber ein blank also das Passwort lautet nicht xx sondern xxblank. Ist mir auch erst aufgefallen, nachdem pq mir den Tip gegeben hat das prüfen.

Ja der Code ist der gleiche wie ich ihn gepostet habe.


Gruss
Leissi
renee
 2007-10-18 17:28
#101034 #101034
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Lass Dir mal die Hexwerte ausgeben... z.B. über print unpack 'H*', $eingegebenes_passwort;...
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/
leissi
 2007-10-18 18:09
#101038 #101038
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi Renee,

also bei Username kommt dann folgender Wert 73610d und bei Passwort kommt
323731696d64610d

wenn ich die Werte fest einbaue kommt folgendes:
Passwort 7361
Passwort 323731696d6461

Gruss Leissi
renee
 2007-10-18 18:40
#101041 #101041
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da hängt noch ein "\r" an den Werten...

Hast Du $/ irgendwo in dem Programm verändert? Wenn nein, wundert es mich, dass chomp nicht das richtige tut...

Ich nehme an, Du arbeitest auf einer Windows-Kiste...

Du kannst das "\r" von den Werten entfernen:
Code (perl): (dl )
1
2
$eingegebenes_passwort =~ s/\r$//;
$eingegebener_user =~ s/\r$//;
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/
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2007-10-18 12:28.