Schrift
[thread]9210[/thread]

Ganz simples User management? (Seite 4)

Leser: 3


<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten
sid burn
 2007-07-20 15:37
#78711 #78711
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Eine Config Datei zu verwenden hat noch einen anderen Vorteil.

Eine Config Datei kann man ausserhalb des DocumentRoot Verzeichnis auslagern.

Das bedeutet das eine aussenstehende person diese Config Datei nicht abrufen kann, und so keine sensiblen Daten preisgegeben werden.

Das Abrufen kann passieren durch eine Fehlerkonfiguration des Webservers (z.B) bei wartungsarbeiten. Oder wenn man die perl Skripte ähnlich wie bei php Dateien über die Dateiendung identifiziert. Dann reicht es schon die Datei mit einem Editor zu öffnen der eine Temp Datei erzeugt. (z.B: scrip.pl~) Diese Datei kann dann jeder abrufen, und würde ebenfalls Passwörter sehen.

Das letztere ist auch ein Grund warum man die Skripte in /cgi-bin/ ablegen sollte.

Ansonsten entstehen Sicherheitslücken immer in Kombination von mehreren Schwachstellen.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
FlorianL
 2007-07-20 15:39
#78712 #78712
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
sid burn, ein grund dafür nen thread von anfang an zu lesen, ist der, dass man ihn versteht...

*g*

sorry konnts mir nich verkneifen ;)

hier gehts um ne loginshell, nix webserver/documentroot/cgi :)
sid burn
 2007-07-20 15:40
#78713 #78713
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=FlorianL,20.July.2007, 13:35]fehler is nun weg, danke ;)

aber er speichert nicht in die db, ist diese zeile korrekt?

Code: (dl )
my $stmt = q~INSERT INTO users(username, password) VALUES($login, $password)~;


Ansonsten geht das schon, beim connect mit meiner valid u/p combo wird das game gestartet, bin also nurnoch nen klitzekleines stück vom ziel entfernt ;)[/quote]
Jaein. ;)

Diese Zeile erstellt dir nur einen String. Und auch da solltest du lieber die '?' Notation nutzen. Wenn du den befehl mehrfach ausführst, am besten wieder prepare,execute Kombi.

Ansonsten wird erst etwas gespeichert wenn du z.B:
Code: (dl )
$dbh->do( $stmt )
aufrufst.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
FlorianL
 2007-07-20 15:46
#78714 #78714
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
danke sid! :)

DBD::mysql::db do failed: Unknown column '$login' in 'field list' at ./slashem.pl line 78, <STDIN> line 5.

gibts nen trick?

VALUES($login, $password) geht so wohl nich?!

dieses q~ ~ zeuch muss ich mir mal genau anschaun, ich hab immernoch nicht gerafft was das eigendlich so macht ;)

edit:

Quote
Diese Zeile erstellt dir nur einen String. Und auch da solltest du lieber die '?' Notation nutzen. Wenn du den befehl mehrfach ausführst, am besten wieder prepare,execute Kombi.


nuja, es wird nur einmal aufgerufen, von daher passt das schon oder gibts ne möglichkeit das diese funktion so zu fehlern führen könnte?\n\n

<!--EDIT|FlorianL|1184932082-->
sid burn
 2007-07-20 15:58
#78715 #78715
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=FlorianL,20.July.2007, 13:46]danke sid! :)

DBD::mysql::db do failed: Unknown column '$login' in 'field list' at ./slashem.pl line 78, <STDIN> line 5.

gibts nen trick?

VALUES($login, $password) geht so wohl nich?!

dieses q~ ~ zeuch muss ich mir mal genau anschaun, ich hab immernoch nicht gerafft was das eigendlich so macht ;)

edit:

Quote
Diese Zeile erstellt dir nur einen String. Und auch da solltest du lieber die '?' Notation nutzen. Wenn du den befehl mehrfach ausführst, am besten wieder prepare,execute Kombi.


nuja, es wird nur einmal aufgerufen, von daher passt das schon oder gibts ne möglichkeit das diese funktion so zu fehlern führen könnte?[/quote]
ein
Code: (dl )
q~ ... ~

ist identisch zu
Code: (dl )
' ... '


Sprich es werden keine Variablen interpoliert.
Du möchtest aber welche Interpolieren.

Code: (dl )
qq~ ... ~

Code: (dl )
" ... "


Ansonsten nutz die DBI '?' Funktionalität. Oder du erlebst böses wenn jemand als username
Quote
'; drop table users;

eintippt, oder andere nette dinge.


P.S.:
ähem *hust*
Die anmerkung mit der Config war nur so allgemein gesagt. ;)\n\n

<!--EDIT|sid burn|1184932848-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
FlorianL
 2007-07-20 16:02
#78716 #78716
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
okay ich bin überzeugt *g*

danke euch allen und ein schönes wochenende noch!
RPerl
 2007-07-20 16:03
#78717 #78717
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Trotzdem hat sid burn recht mit der config sache, auch wenn das scirpt nicht im docroot ist. Es kann als kleine Barierre dienen, man sollte dies aufstellen.

Der MySQL-Syntax von dem Query scheint ja in Ordnung. Aber wie gesagt (u.a. von renee), brauchst du den Platzhalter ?, gleichzeitig uebergubst du die Parameter fuer die SQL-Abfrage ueber das execute.

Gruß & Danke

rPerl
renee
 2007-07-20 16:13
#78718 #78718
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=FlorianL,20.07.2007, 13:46]dieses q~ ~ zeuch muss ich mir mal genau anschaun, ich hab immernoch nicht gerafft was das eigendlich so macht ;)[/quote]
Perldoc:perldoc perlop unter dem Stichwort "Quote and Quote-like Operators"
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 3 4 >| >> 38 Einträge, 4 Seiten



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