php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.01.2006, 21:35  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 184
PHP-Kenntnisse:
Anfänger
GELight sorgt für eine eindrucksvolle AtmosphäreGELight sorgt für eine eindrucksvolle Atmosphäre
GELight eine Nachricht über ICQ schicken GELight eine Nachricht über MSN schicken
Standard Sicherheit...

Hallo alle zusammen,

Ich hätte mal eine Frage an euch im Bezug aus die Sicherheit meiner Scripte, Variablen, Datenbankzugänge usw....

Ich fang einfach mal an:

1. Wie sollte man seine DatenbankDaten wie localhost, User, PW und DBName am besten ablegen und nutzen? Einfach so in einer PHP ablegen und includieren ist wohl nicht der sicherste Weg. Ich hab bisher meine LoginDaten und meine genutzen Tabellen fest in einer Klasse gehabt und dann die jeweilige Variable in meine Skripte eingesetzt.
Wie macht man es sicher?

2. Welche Möglichkeiten hat man von außen auf die Daten einer Session zurückzugreifen... oder ist es möglich von außerhalb einfach diese sogar zu manipulieren?

3. Wie INCLUDiere ich richtig und SICHER?
Einmal kann ich ja Require_once nehmen, so wie ich es bisher gelesen habe. Aber am Ende ist steht "irgendwo" ja dennoch mein Pfad und meine Datei, die ich includieren möchte? Wie sollte man es also besser tun?

4. Welche Möglichkeiten habe ich einen Angriff abzuwehren, wenn zB jemand versucht in ein Textfeld etwas einzugeben um mein Script zu unterbrechen und ein fremdes Skript einzusetzen? Damit kann ja auch einiges kaputt gemacht werden oder sehe ich das falsch?

Ich weiß es ist recht viel auf einmal an Fragen aber meiner Meinung nach auch mit das wichtigste, was ich mal wissen sollte, wenn ich doch mal etwas größeres schreiben möchte um nicht Gefahr zu laufen alles total unsicher aufzubauen.

Ich hoffe Ihr könnt mir da ein paar gute Tipps geben, auf was ich so alles achten "sollte". Ich DANKe jedem, der mir weiter hilft.

Gruß, Mario
GELight ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.01.2006, 21:51  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Zu sicherheit in php gibt es tausende Artikel ....

Erstmal hatten wir fast das gleiche heute schon: http://www.phpfriend.de/forum/ftopic53690.html

Zu 1.: Ich halte es für sicher, die Passwörter in einer config-datei abzulegen (also ganz normale .php datei). Natürlich solltest du keine passwörter verwenden, die du auch anderswo benutzt, schließlich kann dein webmaster sich die dateien ansehen, was zwar unfein, aber dennoch möglich ist.


Zu 2.: Wenn du alleine auf deinem Server bist, sollte das Problem nicht bestehen. Wenn du mit mehreren Benutzern auf einem Server bist, wird es kritischer, bei ausreichender konfiguration von php sollte es aber kein problem sein. Auf deinem eigenen account solltest du aber nur personen den Zugriff erlauben, denen du voll vertraust.

Zu 3.: ... woher soll das Programm wissen, welche datei includet werden soll, wenn du den pfad nicht hinschreiben willst?

Zu 4.: Grundsätzlich gilt, sämtliche eingaben auf genauste zu prüfen und register_gobals zu deaktivieren. Vor allem bei eingaben, die in sql querys einzug finden, solltest du dem user unter keinen umständen vertrauen.

Zu risiken und nebenwirkungen fragen sie google und ihren Webmaster

Ach ja bevor ichs vergesse: Auch hier finden sich interressante links und artikel zu diesem und vielen anderen themen *schleichwerb*
Buhmann ist offline  
Alt 30.01.2006, 15:52  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Ich möchte hier mal anknüpfen:

Ab und an, wenn ich das laden einer Seite abbreche, dann ist der PHP-Quelltext sichtbar. Ich habe keine Ahnung womit das zusammenhängt, wollte mich nur mal erkundigen, ob das schon mal jemand außer mir begegnet ist.

Variante 1 wäre dann nämlich recht risikoreich...
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline  
Alt 30.01.2006, 15:58  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von c-f-g
Ab und an, wenn ich das laden einer Seite abbreche, dann ist der PHP-Quelltext sichtbar. Ich habe keine Ahnung womit das zusammenhängt, wollte mich nur mal erkundigen, ob das schon mal jemand außer mir begegnet ist.
Das ist der HTML- und JavaScript-Code, welcher sowieso für jeden einsehbar ist.

Das dürfte auch noch interessant sein:
http://forum.developers-guide.net/showthread.php?t=688
Corvin ist offline  
Alt 31.01.2006, 15:26  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Interessanter Link, habe ich mir mal gebookmarkt.

Das andere werde ich mal weiterverfolgen
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline  
Alt 31.01.2006, 15:58  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Re: Sicherheit...

Hallo Mario

Zitat:
Zitat von GELight
1. Wie sollte man seine DatenbankDaten wie localhost, User, PW und DBName am besten ablegen und nutzen? Einfach so in einer PHP ablegen und includieren ist wohl nicht der sicherste Weg. Ich hab bisher meine LoginDaten und meine genutzen Tabellen fest in einer Klasse gehabt und dann die jeweilige Variable in meine Skripte eingesetzt.
Wie macht man es sicher?
Sinnig ist noch, die Config-Datei außerhalb des doc-root abzulegen oder via .htaccess zu schützen. Womölich läuft irgendwann mal PHP nicht an, dann würde der Webserver einfach den Quelltext ausgeben.

Es gibt noch die Variante, in einem auto_prepend_file die die Zugangsdaten in die Umgebungsvariablen zu schreiben. Dann musst du alerdings acht geben, dass du nicht irgendwo die Ausgabe von phpinfo() veröffentlichst.

Zitat:
2. Welche Möglichkeiten hat man von außen auf die Daten einer Session zurückzugreifen... oder ist es möglich von außerhalb einfach diese sogar zu manipulieren?
An deine Session-Daten kommt jeder, der diese Dateien lesen (bzw. schreiben) kann. Wer das darf, hängt davon ab, wie der Server eingerichtet ist. Ich hab gehört, dass auf vielen Shared Hosts alle PHP-Prozesse unter einem Benutzer liegen und von daher auch alle Benutzer auf dem Rechner alle Session-Dateien auslesen können, die im Standard-Vezeichnis /tmp liegen. In dem Fall musst du natürlich einen anderen Pfad für die Speicherung definieren.

Was die Angriffe von Außen angeht, so ist das natürlich ein eigenes Thema. Stichwörter: Session-Fixation, Session-Hijacking und auch CSRF.

Zitat:
3. Wie INCLUDiere ich richtig und SICHER?
Einmal kann ich ja Require_once nehmen, so wie ich es bisher gelesen habe. Aber am Ende ist steht "irgendwo" ja dennoch mein Pfad und meine Datei, die ich includieren möchte? Wie sollte man es also besser tun?
Ich binde alle meine Klassen mit __autoload() ein. Alles andere ist ja sehr überschaubar. Ich hab eine Funktion, die für einen übergebenen Pfad relativ zum Wurzelverzeichnis der Anwendung via __FILE__ einen absoluten Pfad zusammenbaut.

An sonsten kann man natürlich auch von include_path Gebrauch machen.

Was das allerdings mit Sicherheit zu tun haben soll, hab ich nicht verstanden.

Zitat:
4. Welche Möglichkeiten habe ich einen Angriff abzuwehren, wenn zB jemand versucht in ein Textfeld etwas einzugeben um mein Script zu unterbrechen und ein fremdes Skript einzusetzen? Damit kann ja auch einiges kaputt gemacht werden oder sehe ich das falsch?
magic_quotes.gpc abschalten (oder Auswirkungen ggf. rückgängig machen) und dann klarmachen, dass die Variablen alles enthalten können. Also Wertemenge für die Variablen definieren und prüfen, ob die Werte drinnen liegen oder auch nur Steuerzeichen entfernen. ...je nach dem, was du damit anstellst.

register_globals wurde ja bereits genannt.

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
BACKLINK CHECK und SICHERHEIT von zentraler CSV-Datei ff-webdesigner.de PHP-Fortgeschrittene 16 27.11.2008 20:25
Sicherheit in PHP robydog PHP Tipps 2008 52 10.05.2008 13:09
externe MySQL und Sicherheit sportyflo Datenbanken 2 22.02.2008 11:09
FON und die WiFi Ads - Bald mehr Sicherheit PHP Tipps 2007 0 03.08.2007 12:06
PHP Sicherheit Plague PHP Tipps 2007 13 26.04.2007 16:24
PHP Sicherheit phpdummi PHP Tipps 2006 1 27.09.2006 23:31
Erfahrung mit Sessions ( Sicherheit ) GELight PHP Tipps 2006 6 11.08.2006 17:55
Sicherheit aufm Webserver ? Cyberbob_at_tot Off-Topic Diskussionen 7 17.10.2005 16:22
Sicherheit im Web-Interface nussbaum PHP Tipps 2005-2 9 29.06.2005 14:10
Sicherheit.... renzo PHP Tipps 2005-2 1 27.06.2005 15:53
Sicherheit von Klartext-Passwörtern PHP Tipps 2005 14 30.03.2005 15:22
[Erledigt] Thema Sicherheit? PHP-Fortgeschrittene 5 05.11.2004 05:43
Sicherheit bei Wertübergaben PHP Tipps 2004 3 14.10.2004 18:06
Apache öffentlich machen. Sicherheit? Server, Hosting und Workstations 3 07.07.2004 03:20
Sicherheit bei URL-Übergabe pcschröda PHP-Fortgeschrittene 25 28.06.2004 16:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.