 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
20.10.2003, 16:33
|
#1
|
|
TP-Supporter
Registriert seit: Aug 2002
Ort: Erde
|
sicher programmieren
hi
also ich hätte da mal eine frage an experten.
wenn man etwas komplexes macht, mit memberverwaltung, wichtigen daten, usw...
welche sicherheitsvorkejrungen würdet ihr treffen.
1.) sessions vor dem registrieren encoden und dann wieder für die benutzung decoden, damit keiner am server, wenn er die offenen sessions liest an daten rankommt ?
2.) jedes eigabefeld mit strip_tags behandeln ?
3.) nur auf die superglobalen variablen setzen, also server mit register globals on benutzen ?
4.) datenbankverbindungsdatenein mit passwörtern auf jeden fall über dem öffentlichen ordner legen, wo keiner einfach zugreifen kann ?
5.) userregistrierung mit emailbestätigung und adminfreischaltung einrichten ?
6.) ...
7.) ...
bitte um ergänzung oder verbesserung der oberen punkte.
thx
ciao filou
__________________
ich liebe dich, Hans-Jörg. gebt schwulen gleiche rechte.
erst wenn wir alles verloren haben, haben wir die freiheit alles zu tun.(tyler durden)
Geändert von Filou (20.10.2003 um 17:57 Uhr).
|
|
|
20.10.2003, 17:05
|
#2
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
1. Das wäre total übertrieben und aus meiner Sicht auch unnötig.
3. Ja und nein. Du solltest nur mit den Superglobals arbeiten (sprich: $_POST, $_GET etc.). In dem Fall müsste man "server mit register globals off benutzen" (interessanter Satz von Dir, hehe) 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
20.10.2003, 17:37
|
#3
|
|
TP-Supporter
Registriert seit: Aug 2002
Ort: Erde
|
natürlich globals off, legastenikerfehler...
zu 1 weiß ich nicht genau, wenn man eine session nicht beendet, bleibt die ja am server noch einige zeit erhalten, oder ?
wäre dies kein problem.
ciao filou
__________________
ich liebe dich, Hans-Jörg. gebt schwulen gleiche rechte.
erst wenn wir alles verloren haben, haben wir die freiheit alles zu tun.(tyler durden)
|
|
|
20.10.2003, 17:47
|
#4
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Wer hat denn im Normalfall Zugriff auf das Dateisystem des Servers, darf aber keine Session-Daten zu Gesicht bekommen?
Das wäre ne eigenartige Rechteverteilung, oder lass ich gerade irgendwas ausser acht?
Und was meinst du überhaupt damit, eine Session zu encoden?
|
|
|
20.10.2003, 17:57
|
#5
|
|
TP-Supporter
Registriert seit: Aug 2002
Ort: Erde
|
naja ein freund hat es geschafft, auf lurzem weg die inhalte sämtlicher sessions ausfindig zu machen.
werde dies hier natürlich nicht erleutern, hängt wohl auch von der rechtevergabe am server ab.
auf jeden fall hat mich diese sache mit den sessions auslesen ein wenig schockiert. stellt euch vor, da stehen userdaten drinnen.
ciao filou
ps: @seb, na die inhalte zu encoden und dann bei ausgabe zu decoden
__________________
ich liebe dich, Hans-Jörg. gebt schwulen gleiche rechte.
erst wenn wir alles verloren haben, haben wir die freiheit alles zu tun.(tyler durden)
|
|
|
20.10.2003, 18:07
|
#6
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
in welcher Form wíllst du die denn encoden bzw. decoden? Ich sags mal so: Wenn jemand an deine Sessions herankommt, dann kommt er womöglich auch an deine Scripte heran, indenen ja die encode/decode-Funktionen stehen müssen, wie auch dein Key zum en/decodieren...
Ne Möglichkeit wäre für das Session-Handling eigene Funktionen zu schreiben, um deine Session-Files aus dem /tmp Ordner herauszuholen und das ganze dann womöglich über eine DB laufen zu lassen ( http://de.php.net/manual/de/function...ve-handler.php). Hier könnte man vielleicht die MySQL-Funktionen DECODE und ENCODE nutzen um die Session-Daten zu verschlüsseln. Ne Demo-Datei fürs Handling über ne DB hab ich evtl. parat  ...Nachteil: Auch hier muss der Key irgendwo abgelegt werden...
Desweiteren solltest du um höchstmögliche Sicherheit beim Session-Handling zu erhalten trans_sid ausschalten und das Session-Handling nur mit Cookies zulassen. So ist ein Klau der SID als GET-Parameter umöglich.
.htaccess:
Code:
php_flag session.use_trans_sid 0
php_flag session.use_only_cookies 1
php_flag register_globals 0
Gruss
Jan
|
|
|
20.10.2003, 21:38
|
#7
|
|
TP-Supporter
Registriert seit: Aug 2002
Ort: Erde
|
@Stuck Mojo
danke, interessante aspekte, vor allem das mit den session-files aus dem /tmp ordner holen.
was würdet ihr sonst noch ausser meinen aufgezählten punkten beachten ?
ciao filou
__________________
ich liebe dich, Hans-Jörg. gebt schwulen gleiche rechte.
erst wenn wir alles verloren haben, haben wir die freiheit alles zu tun.(tyler durden)
|
|
|
06.11.2003, 18:33
|
#8
|
|
TP-Junior
Registriert seit: Oct 2003
|
Zitat:
Wer hat denn im Normalfall Zugriff auf das Dateisystem des Servers, darf aber keine Session-Daten zu Gesicht bekommen?
Das wäre ne eigenartige Rechteverteilung, oder lass ich gerade irgendwas ausser acht?
|
ein bissi ;-)
ich spreche hier jetzt von einem linux system, die sessions werden im norm fall unter /tmp gespeichert,
die session speichert der user der auch den webserver(damon) laufen lasst, oder anders ausgedrückt der webserver user speicher dort die daten ab. => somit ist es leicht möglich, das wenn jemand z.b. ein php scripterl schreibt, oder auch cgi, das er auf den /tmp ordner zugreift und inhalte 1. und die inhalte der inhalte heruaslesen kann =< somit werden eineige daten, eisst user daten die sich in der session befinden ersichtlich.
deshlab sollte man keine passwörter zumindest nicht unverschlüsselt in eine session speichern ;-)
alternative, um das ssession problem zu lösen, wäre z.b. wenn man mittels, spreche heir jetzt von php und der provider lässt es zu, wenn man mittels "session_save_path " den pfad auf den eingenen webspace umleitet. den da hat nicht ein jeder die rechte, denn wenn dannkann man nur mit dem webserver darauf steurn, nur der hat keine rechte darauf (userbezogen) wenn es sich unterm DocumentRoot befindet.
und beim ftp ist hoffentlich eh immer chroot eingestellt.
das wäre eine eventuel sichere methode bei sessions.
sorry, für die tippfehler bin nur grad etwas unter zeitdruck und wollte das ncoh schnell los werden ;-)
|
|
|
06.11.2003, 19:17
|
#9
|
|
TP-Specialist
Registriert seit: Oct 2002
Ort: Übach-Palenberg
|
Zitat:
|
2.) jedes eigabefeld mit strip_tags behandeln ?
|
Was sind strip_tags?
__________________
Grüße aus Übach-Palenberg
Tim
WEB.ASSISTANTS IT-SOLUTIONS
www.web-assistants.de
Hängt das doch mal an eine beliebige PHP-Datei: ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
|
|
|
06.11.2003, 19:21
|
#10
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: München
|
|
|
|
06.11.2003, 19:31
|
#11
|
|
TP-Specialist
Registriert seit: Oct 2002
Ort: Übach-Palenberg
|
danke dir.
__________________
Grüße aus Übach-Palenberg
Tim
WEB.ASSISTANTS IT-SOLUTIONS
www.web-assistants.de
Hängt das doch mal an eine beliebige PHP-Datei: ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
|
|
|
06.11.2003, 19:32
|
#12
|
|
TP-Supporter
Registriert seit: Aug 2002
Ort: Erde
|
Zitat:
Original geschrieben von osiris
ein bissi ;-)
ich spreche hier jetzt von einem linux system, die sessions werden im norm fall unter /tmp gespeichert,
die session speichert der user der auch den webserver(damon) laufen lasst, oder anders ausgedrückt der webserver user speicher dort die daten ab. => somit ist es leicht möglich, das wenn jemand z.b. ein php scripterl schreibt, oder auch cgi, das er auf den /tmp ordner zugreift und inhalte 1. und die inhalte der inhalte heruaslesen kann =< somit werden eineige daten, eisst user daten die sich in der session befinden ersichtlich.
deshlab sollte man keine passwörter zumindest nicht unverschlüsselt in eine session speichern ;-)
alternative, um das ssession problem zu lösen, wäre z.b. wenn man mittels, spreche heir jetzt von php und der provider lässt es zu, wenn man mittels "session_save_path " den pfad auf den eingenen webspace umleitet. den da hat nicht ein jeder die rechte, denn wenn dannkann man nur mit dem webserver darauf steurn, nur der hat keine rechte darauf (userbezogen) wenn es sich unterm DocumentRoot befindet.
und beim ftp ist hoffentlich eh immer chroot eingestellt.
das wäre eine eventuel sichere methode bei sessions.
sorry, für die tippfehler bin nur grad etwas unter zeitdruck und wollte das ncoh schnell los werden ;-)
|
hi
sehr interssante ausführung.
glaube, kenne dich osiris, alter kompane...
ciao filou
__________________
ich liebe dich, Hans-Jörg. gebt schwulen gleiche rechte.
erst wenn wir alles verloren haben, haben wir die freiheit alles zu tun.(tyler durden)
|
|
|
07.11.2003, 02:16
|
#13
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Zitat:
|
das er auf den /tmp ordner zugreift und inhalte 1. und die inhalte der inhalte heruaslesen kann =< somit werden eineige daten, eisst user daten die sich in der session befinden ersichtlich.
|
Wie soll das gehen, ein Skript schreiben, dass auf das /tmp-Verzeichnis eines Users zugreifen soll ... das geht nicht. Jeder User hat ein "eigenes" /tmp Verzeichnis, auf das kein anderer User zugreifen kann.
Oder hast Du das jetzt anders gemeint? 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
07.11.2003, 07:57
|
#14
|
|
TP-Junior
Registriert seit: Oct 2003
|
auf den bsd systemen ist meist der tmp ordner user spezifisch, das stimmt.
nur wieviele webhoster bzw. bzw. server gibt es schon die bsd oben haben, der grössere anteil ist nun mal redhat bzw. linux.
und dort gibt es einen /tmp ordner, aus sicherheitsgründen lege ich diesen z.b immer auf eine eigene partition, man weiss ja nie.
und in diesem sammeln sich die sessions etc.
machts mal einen kelinen test: schriebst eine php bzw script wleches den ordner /tmp ausliest ;-)
|
|
|
07.11.2003, 13:12
|
#15
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Ich nutze auf meinem Server derzeit noch SuSe 8.1 - und dort werden Sessions, Uploads & Co in /phptmp gespeichert - für jeden User extra. Ist nix mit auslesen 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:49 Uhr.
|
 |