Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
14.01.2002, 12:32
werner



Hallo Leute,
ich habe eine mySQL-Datenbank iVm PHP im Einsatz.
Wie sicher bin ich bei dieser Kombination vor Hackern?

In dem PHP-Script mit dem Befehl mysql_connect(...) stehen ja alle wichtigen Daten auf einer Seite. Wenn ich eine ganz einfache Seite erstelle (z.B. index.php) und in dieses Script auch den Befehl mysql_connect habe, kann das dann außer mir irgend jemand abrufen und in das Script schauen?

Gruß, W.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
14.01.2002, 12:37
Zeeke



Solange das ganze über den Webserver aufgerufen wird und durch den PHP Interpreter läuft nicht...

--

zum Seitenanfang zum Seitenende Profil || Suche
002
14.01.2002, 13:09
CY4N1D3



das ganze ist so: wenn ein php script auf dem server läuft wo beispielsweise apache+php installiert ist dann gibt es eigetlich keine möglichkeit and den quallcode der php datei zu kommen... AUSSER:

hast du im script beispielsweise einmal am anfang "<?" oder "<?php" vergessen dann wird einem die ganze seite als text ausgegeben, inc. connectioncode *fg*. mach also folgendes:

am anfang der php datei ein ->require "connect.php"<- in der du alle wichtigen server daten sicherst. damit verhinderst du solche ausnahmefälle schon.

du solltest die MySQL datenbank ausserdem von der aussenwelt abschotten, so das du nur noch local (wie beispielsweise über php) rannkommst.

greetz cyan

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche
003
14.01.2002, 13:30
werner



@CY4N1D3, vielen Dank für Deine Antwort, das beruhigt mich ja schon einmal.

Was meinst du denn mit "aussenwelt abschotten". Da ich bei einem der großen provider (puretec) bin, habe ich da nicht so die Administrationsrechte. Kennst du dich dahingehend aus?

--

zum Seitenanfang zum Seitenende Profil || Suche
004
14.01.2002, 14:10
dp
Administrator


mit abschotten ist gemeint, dass man nicht zum mysql server connecten kann wenn man nicht vom lokalen rechner aus connectet. (also lokal)

mit der sicherheit von den mysql daten: das ist überhaupt kein problem im vergleich dazu wie unsicher manche php coden, so werden eingaben oft nur ungenügend überprüft und somit sind alle tore geöffnet die seite anzugreifen (erfordert aber in 90% der fälle dass der quellcode bekannt ist).

einfach mal bei google nach security php tutorials suchen, da findet sich ne menge..

--

zum Seitenanfang zum Seitenende Profil || Suche
005
14.01.2002, 22:44
Andy_



Jop, es entstehen leicht Sicherheitslöcher, z.B. kommt es desöfteren vor das ein Uploadscript auch .php dateien zulässt, die geparst werden können. Dadurch sind die Zugriffe auf den Webspace ganz einfach...

Sicherheit in PHP, sicheres PHP-coden war auch ein teil der letzten getagten internationalen PHP 2001 Konferenz, dort gibt es die Präsentations-Folien auch zum download. Ich find sie sehr informativ, und für jeden PHP-angehenden und auch Erfahrenen einen Blick wert. (Englisch-Kenntnisse vorrausgesetzt)

--

42 Es gibt keinen Sinn des Lebens.


Dieser Beitrag wurde am 14.01.2002 um 22:45 von Andy bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
20.01.2002, 11:37
schlomo



Ich hab mit GetRight mal getestet....wenn man unter filetypes ".php" mit dazunimmt, lädt er die auch normal runter...

--

zum Seitenanfang zum Seitenende Profil || Suche
007
20.01.2002, 12:41
Zeeke



Wie meinst du das, er läd die normal runter?
Das man das Script dann sehen kann? Das denke ich nähmlich eher nicht.. das wird trotzdem durch den PHP Interpreten gejagt... oder?

--

zum Seitenanfang zum Seitenende Profil || Suche
008
20.01.2002, 12:59
Kriz



Das glaube ich auch weniger, denn das GET-Kommando an den Server via TCP/IP weist den Server laut seiner Konfiguration dann darauf hin, daß eine Datei mit der Endung .php zuerst an den PHP-Interpreter geleitet wird, ehe dieser es dann freigibt zum Senden an den Browser. Und das kann man von außerhalb mit Sicherheit nicht steuern, schon garnicht wenn es sich hierbei um einen UNIX/Linux-Server handelt.

Das funzt nur, wenn der Server mit der Endung .php nichts anfangen kann. Dann wird diese Datei eben als RAW-Text an den Browser geliefert oder eben als Download.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)


Dieser Beitrag wurde am 20.01.2002 um 13:00 von Kriz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
20.01.2002, 13:35
schlomo



also, ich habe jetzt hier drei Test Datein, die ich irgendwo runtergeladen hab...von irgendner Page mit Getright...unter Options-Monitor-File associations
hab ich .php mit drann gehängt, Catch Clicks auf "on" gehabt und nen Link auf ne .php angeklickt und siehe da, er will es runterladen und hat es auch gemacht...Kann sein, das es am Server lag, aber ich geh jetzt nochmal ein paar andre Server ausprobieren, ob es da auch geht....
ich poste nachher nochmal ein Testergebnis...

--

zum Seitenanfang zum Seitenende Profil || Suche
010
20.01.2002, 13:43
Zeeke



Ja.. er läd es ja auch runter, hat ja auch keiner gesagt, dass er es nicht macht ;)

Aber schau mal in die Datei rein.. das wird nun wohl normales HTML sein ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
011
20.01.2002, 13:43
blair



wenn das ginge, wäre das ein deftiger exploit...

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
012
20.01.2002, 13:45
schlomo



Jo...merke ich auch grad....son Mist... :D
Müsste man es nicht trotzdem so irgendwie machen können?
Es ist doch eigentlich auch nur eine Datei auf dem Webspace, oder? Müsste man es nicht über Winsock irgendwie runterladen können?
Ich glaub es wäre von Vorteil, wenn ich überhauot nen blassen schimmer von php hätte, hab ich das Gefühl.... ;-)))

--

zum Seitenanfang zum Seitenende Profil || Suche
013
20.01.2002, 13:49
Zeeke



Tja, PHP ist halt eine Skriptsprache zur Erzeugung von dynamischen Webseiten. PHP wird serverseitig (Java Script wäre ein Gegenteil, da es beim Klienten ausgeführt wird) ausgeführt, und darum sollte man eigentlich auf keine Art und Weise an die Dateien heran kommen....

Der PHP Interpreter geht dann eben beim Aufruf der PHP Datei die die aufgerufene Datei durch, eventuell mit hinzugegeben Variablen (durch ein Formular oder durch die URL), und gibt dann eben das aus, was in der PHP Datei ausgegeben wird..

edit:
Mal ein kleines Beispiel...
Du hast eine Datei namens bla.php, diese rufst du so auf...
bla.php?name=Zeeke

Hier die bla.php:
<?php
if(!$name) {
echo "Du hast keinen Namen angegeben!";
} else {
echo "Du heisst also $name";
}
?>

Und der Klient sieht eben nur das, was mit echo ausgegeben wurde...und die gestellten Bedingungen (mit if abgefragt) müssen eben auch zutreffen..

--


Dieser Beitrag wurde am 20.01.2002 um 13:58 von ZeekeGF bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
014
20.01.2002, 13:53
schlomo



Das heißt, der User kommt übers Netz garnicht in die Nähe der Datei, sie liegt im Prinzip nur lokal da und wird nicht über Apache oder sowas "freigegeben", wie die html oder so?

--

zum Seitenanfang zum Seitenende Profil || Suche
015
20.01.2002, 14:49
Kriz



Nein, die PHP-Datei wird erst dann vom Server freigegeben (sofern dort PHP installiert ist), wenn die Datei durch den Interpreter gerauscht ist. Dann sagt PHP: Ok, und ab damit zum Client. Du wirst also auf einem PHP-Server immer nur eine HTML-Datei bekommen, nie aber eine PHP-Datei.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
016
20.01.2002, 14:57
schlomo



hm...irgendwo auch sinnvoller so..Hab ich schonwieder was gelernt...DANKE

--

zum Seitenanfang zum Seitenende Profil || Suche
017
20.01.2002, 15:24
Andy_



Mhhh, das mit dem Code sehen ist doch letzens bei der Seite von Sudden-Impact passiert. Da konnte man plötzlich den ungeparsten CGI-Code sehen. Aba bei denen lag es ja am Anbieter, da er einfach so mal die CGI-Extension vom Server genommen hat (wie nett). Wenn sowas z.B. bei ner riesigen Newscommunity passiert wäre... das wär nicht auszudenken...
Und was lernen wir daraus? benutzt nie den Anbieter "f4g Modnetwork" für Serverseitige Scripts ;)

--

42 Es gibt keinen Sinn des Lebens.

zum Seitenanfang zum Seitenende Profil || Suche
018
20.01.2002, 15:30
Kriz



Würde man dynamisches Scripting clientseitig realisieren wollen, dann müßte á la CGI jeder HTMl-Seite eine passende Binary beigelegt sein, die der Browser dann ausführen muß. So und nicht anders funktionieren Applets. Die class-Binary (der Bytecode) wird entweder direkt oder indirekt via JAR Archiv vom Browser interpretiert.

Aber clientseitiges Scripting würde auch neue Sprachen, neue Editoren und neue VM's (virtual machines) bedeuten. Ein nicht unbeträchtlicher Aufwand...

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
019
20.01.2002, 15:32
schlomo



Ist Javascript nicht clientseitiges Scripting?
Wenn nciht so ist, auch egal...hab nicht so die ahnung davon... ;-)

--

zum Seitenanfang zum Seitenende Profil || Suche
020
20.01.2002, 15:33
CY4N1D3



php = serverseitiges scripting
java script = clientseitiges scripting

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche