| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Wie sicher ist PHP? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige hallo... ich möchte mal wissen, wie sicher PHP eigentlich ist. Vielleicht kann mir da ja jemand helfen. Folgender fiktiver ...
![]() |
| | #1 (permalink) |
| Registriert seit: 21.12.04 ![]() Likes: 0 | Anzeige hallo... ich möchte mal wissen, wie sicher PHP eigentlich ist. Vielleicht kann mir da ja jemand helfen. Folgender fiktiver Fall: Ich nutze PHP, MySQL und FTP. Ich habe bei einem Hoster meine Domain (www.meine-domain.de) und nutze ausschließlich PHP für meine Webseiten. Die Seiten Lade ich mittels FTP - Acount hoch. In einer PHP-Datei habe ich die Passwörter für meine Datenbank gespeichert. <?php $host = "www.meine-domain.de"; $user = "ich"; $pass = "passwort"; ?> in der Art etwa... Ist das sicher, oder kann jemand meine Passwörter auslesen und somit meine DB manipulieren??? candyman |
| | |
| | #2 (permalink) |
| Solange er kein Zugang zu deinem FTP hat, und der Webspace wo du bist nicht gerade unsicher ist, ja. egal wie, Jede php wird zu HTML generiert. Jeder der die Datei wie auch immer aufrufen will, bekommt nur html. Solange er kein zugang zu deinem FTP hat ist es soweit sicher | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 21.12.04 ![]() Likes: 0 | ok, thx.... Welche Hoster gelten denn als unsicher? candyman |
| | |
| | #4 (permalink) |
| Guest Likes: | Du solltest unterscheiden zwischen: - wie sicher ist mein Hoster - wie sicher ist mein ScriptStil (php leute scripten, die coden nicht (kleiner scherz))- wie sicher ist PHP PHP ist nicht dein code, den Du schreibst. Einige PHP-Versionen ist letzhin durch ein paar mehr oder weniger unangenehme Nachrichten aufgefallen. Ist der core anfällig, evtl für einen BufferOverrun, so mag es u.U. egal sein wie sicher deine Scripte sind, wenn sie eine der "fiesen" Funktionen nutzen. Aber meistens sind es immer noch Fehler bei der Config. Zb speichern manche Leute gerne solche Infos in Dateien wie: config.php.inc..Wenn aber Apache diese datei nicht durch php parst, dann haste die sachen als Klartext. mfg |
|
| | #5 (permalink) | |
| Registriert seit: 25.08.04 ![]() Likes: 0 | Zitat:
Du solltest darauf achten, dass dein Hoster einigermaßen aktuelle Versionen von Apache, PHPMyAdmin, Confixx, usw. verwendet. Wenn das nicht der Fall ist, kann das auf eine schlampige Administration hinweisen. Besonders bei größeren Projekten/Webangeboten würde ich darauf besonderen Wert legen. | |
| | |
| | #6 (permalink) |
| wenn du eine variable mit einem wert setzt und diese nicht 1:1 ausgibst, sollte man über den browser keinen zugriff auf den inhalt dieser variablen bekommen.. aufpassen bei user eingaben!!!! gesetzt der fall, du greifst mittels GET auf eine datei zu zb mysite.php?var=index.php require('".$_GET['var']."'); nur wer sagt dir, dass es nicht so ausschaun kann? mysite.php?var=/etc/passwd require('".$_GET['var']."'); also aufpassen, wenn du sowas machst dann per array includen "ALL USER INPUT IS EVIL" in diesem sinne | |
| | |
| | #7 (permalink) |
| Member of Honour ![]() | Also zur Sicherung eines servers kann ich immer nur empfehlen, sensible daten niemals im oder unter dem WWW-ROOT zu lagern. Technisch gesehen: du gibst www.deine-dom.de ein und wirst "in deinem ftp" in /var/www/htdocs/geleitet. Der Vorteil: Du selbst hast per FTP auch zugriff auf /var/www/ - Das ist klasse, weil du per PHP auch ebenen includen kannst, die der Browser nicht erreichen kann. so kannst du alle sensiblen daten in /var/www/daten.ext speichern und per "include("../daten.ext");" darauf zugreifen, OHNE dass auch nur ein einziger Internet-Surfer auf diese daten zugriff bekommt. So einfach hast du deinen server und dein MySQL daten sicherer als du glaubst. ;-) [ich hoffe, es sind alle klarheiten beseitigt...] |
| | |
| | #8 (permalink) |
| Guest Likes: | Zu diesem Thema gibt es einen Artikel von PHP.net: http://www.inside-php.de/board/topic-418.0-all.html Ansonsten kann ich die Methode von boppy empfehlen, ist auch nützlich wenn man Downloads nur über ein PHP Skript anbieten möchte und sie sonst nicht downloadbar haben möchte. |
|
| | #9 (permalink) |
| Guest Likes: | Dazu gibts noch in 4.3-> einige sehr interessante Directiven für die Configuration. Besonders bei vhosts kann ich so einzeln die base_root setzen und per disable_functions noch zusätzlich zb Backtic operationen (shell_exec) unterbinden. Wer php halbwegs sicher haben will muss auf jeden Fall gründlich die config studieren. Mittlerweile hat PHP schon die eine oder andere "hauseigene" Methode halbwegs sicher zu sein. Von sieben hatte ich den Tip zu "suphp" bekommen. Das ersetzt das mod_php des Apache und parst phpscripte durch das cgi binary des php interpreters. Mit etwas Mühe kann man auch cgi-php durch suEXEC vom Apache schleifen. Mit suPHP können dann zb PHP scripten anhand von Userrechten bedient werden was imo die definitiv beste Lösung ist. Der nachteil bei grösseren Sites ist natürlich die Geschwindungkeit. Unter OpenBSD können ganz paranoide versuchen den php interpreter noch mit systrace beizukommen. Ich habs allerdings noch nicht hinbekommen apache in befriedigende systrace policies zu zwängen. Wer da andere Erfahrungen hat- mal bitte bei mir melden )Fazit: Für hohe Sicherheit php als cgi nutzen und suEXEC oder suphp verwenden. mfg |
|
| | #10 (permalink) |
| Registriert seit: 07.01.05 ![]() Likes: 0 | Also wie schon gesagt der Php parser parst alle Dateien die auf .php enden drum ist es wichtig alle dateien auch so zu nennen in denen wichtige Daten liegen. Wenn du z.B. deine MYSQL_HOST, MYSQL_USER etc. für die Datenbank connection brauchst und du sie als konstante in den Ordner ka meistens inc/constant.inc speicherst dann ist es wichtig diese Datei inc/constant.php oder inc/constant.inc.php zu nennen dann kann dir nix passieren da deine *.php Seite ja geparst werden und du nur reinen HTML text für den Nutzer ausgegeben bekommst. Da gibt es einige schöne Hilfen im Internet dazu "was macht der parser" oder ka lass dir was einfallen. Ich würde aber die variable $pass="passwort" trotzdem nicht in meine normale index.php oder sonst was schreiben sondern irgendwie irgendwoher includen halt aus ner inc/test.inc.php oder so |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Wie sicher ist XOR? | weltio | Cryptography & Encryption | 30 | 14.02.08 21:21 |
| Wie sicher ist WPA? | v01d | WLAN-Zone | 27 | 07.01.07 12:20 |
| Ist das sicher? | [starfoxx] | (Web-) Design und webbasierte Sprachen | 9 | 05.10.05 12:41 |
| sicher? | r4ptor | Hacks & Crackmes | 9 | 25.09.05 22:14 |
| AES sicher ? | Arthi | Cryptography & Encryption | 1 | 18.09.04 16:20 |