php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.03.2005, 16:03  
Gast
 
Beiträge: n/a
Standard Sichere Vebindung mit MySQL & .htaccess erstellen + Vars

Hi PHP'ler,
ich suche einen Weg, zu einer MySQL-Datenbank eine sichere Verbindung herzustellen, am besten noch Automatisch, ohne das jemand die Datei mit den Logindaten einlesen kann.
Kann mir jemand einen oder mehrere Wege sagen wie dies zu realiesieren ist?

Info: Dieses Projekt soll veröffentlicht werden, darum ist die Sicherheit wichtig.

Frage2:

Ich habe mittlerweile 2 PHP-Bücher gelesen, doch wird in keinem erklärt wie .htaccess-Datein erstellt werden mit.

Kennt jemand ein Tutorial oder selber die Lösung und vieleicht alle n der .htaccess verwenbaren variablen?

Danke für jede Antwort
Greetz Noxx
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.03.2005, 16:12  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: Sichere Vebindung mit MySQL

Zitat:
Zitat von noxx
ich suche einen Weg, zu einer MySQL-Datenbank eine sichere Verbindung herzustellen
In welcher Hinsicht sicher, also vovor gesichert?

Zitat:
Zitat von noxx
Info: Dieses Projekt soll veröffentlicht werden, darum ist die Sicherheit wichtig.
Die meisten "veröffentlichten" Projekte kommen ohne aus...

Zitat:
Zitat von noxx
Ich habe mittlerweile 2 PHP-Bücher gelesen, doch wird in keinem erklärt wie .htaccess-Datein erstellt werden
Hat ja auch nicht direkt mit PHP zu tun.

Zitat:
Zitat von noxx
bzw. wie man Bspw. Userdaten erhält.
ganzer Satz vielleicht?

Zitat:
Zitat von noxx
Kennt jemand ein Tutorial oder selber die Lösung?
Google kennt ganz viele:
http://www.google.de/search?hl=de&ie...a=lr%3Dlang_de
__________________
mod = master of disaster
Waq ist offline  
Alt 17.03.2005, 16:15  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zu frage 1:
meinst du eine ssh verschlüsselung?
zu frage2:
morgen könnte ich dir mehr sagen!
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline  
Alt 17.03.2005, 16:17  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Auzug aus einem forum:

_____________________________________-

htaccess Schutz für jegliche Dateien ( für Fortgeschrittene)

Ich kann nicht genau sagen, welche Anforderung es braucht, um dies zu nutzen, bei mir hat es gedauert, aber ich musste es mir ja zusammenstricken, wohingegen Ihr mein Tutorial nehmen könnt
PHP wird hier nicht zwangsweise benötigt, sollte aber für einen vollständigen Schutz beherrscht werden und mindestens rudimentär Verstanden werden.


Ich führe hier zwei Arten eines Schutzes vor.
Voraussetzung ist, dass Ihr wisst, was ein Server ist und wie man bereits mit .htaccess umgeht. Ich verweise auf
SelfHTML

Das ist sehr gut!

Für alle, die Erfahrung haben, hier weiterlesen:

Erste Version:
Also, im ersten Beispiel verwende ich .htaccess mit dem Mod_Rewrite Modul, welches für mich ein Optimum darstellt. (Lokal bitte Mod_Rewrite in der httpd.conf vom Apache auskommentieren.)
Kurzer Ablauf des Problems: Sensible Daten sollen nur für registrierte oder private User verwendet werden, können diese nicht in eine Datenbank gepackt werden, wie z.B. Bilder, muss man diese extern schützen.
Ich gehe von zwei Möglichkeiten aus, erstens: User kommt normal per Link durch PHP oder durch sonst was, muss sich einloggen usw. und wird ggf. dann zu den Bildern(ich nehme in meinem Beispiel Bilder) geleitet. Alles kein Problem, den Passwortschutz der PHP Scripte will ich nicht näher ansprechen, dies kann man nachholen, in dem man z.B. PHP lernt .
Jetzt zum Problem (zweite Möglichkeit): Wenn jemand nun den Pfad zum Bild direkt kennt, sei es, der eingeloggte User verrät es, indem er mit der rechten Maustaste auf das Bild klickt oder wenn man irgendwoher sonst die URL kennt, so kann PHP diese Bilder regulär nichtm ehr schützen, da es komplett an der PHP vorbei geht.

Hier kommt die erste, gute Variante ins Spiel.
Wir haben den Ordner http://meine-adresse.de/privat/bilder/ , in den Bilder Ordner tun wir jetzt die folgende .htaccess Datei rein:
Code:
RewriteEngine on
Options FollowSymLinks
RewriteRule .* ../check.php [NC]

Kurz gesagt, hiermit aktivieren wir die Rewrite Engine, welche das Modul Mod_Rewrite darstellt. Mit RewriteRule .* ../check.php [NC] wird jeder Zugriff auf diesen Ordner für jede Datei zur check.php umgeleitet, welche eine Ebene höher liegt, hier im Ordner /privat/, das NC bewirkt, dass man auf die Groß- und Kleinschreibung nicht zu achten braucht.

Erstellt jetzt eine PHP Datei mit dem Namen check.php, und fügt diesen Inhalt dort komplett ein:
PHP-Code:
<?php
$name=basename($_SERVER['REQUEST_URI']);
if ($name=="testbild.jpg"){
readfile(".".$_SERVER['REQUEST_URI']);
} else {
die("Ungültige Angabe");
}
?>

Schickt diese in den Ordner, wo der Bilder Ordner liegt, aber auf keinen Fall in den /bilder/ Ordner!

Ruft jetzt mal Testweise den Ordner /bilder/testbild.jpg auf, es spielt keine Rolle, dass das Bild nicht existiert, wenn im Browser "Ungültige Angabe" oder sogar das Bild erscheint (falls Ihr dort eins mit dem Namen testbild.jpg eingefügt habt), so funktioniert die .htaccess tadellos, wenn nicht, müsste ein "Internal Server Error 500" kommen, dass bedeutet, der
Server nimmt eure .htaccess nicht an, entweder ist Mod_Rewrite nicht an, oder es liegt ein anderer Fehler vor, aber dass ist erstens nicht Teil dieses Tutorials und zweitens kein Problem, dann geht Ihr einfach zur zweiten Version meines .htaccess Tutorials.
Kleine Erklärung: Ruft man irgend ein Bild im Ordner /bilder/ auf, so wird in jedem Fall eine Umleitung zur check.php geschickt, ohne Ausnahme. Die check.php, hier eine sehr simple, prüft, ob das Bild „testbild,jpg“ heißt, oder nicht, wenn nicht, dann kommt "Ungültige Angabe", wenn es doch existiert, dann kommt readfile zum Einsatz und gibt das Bild sofort aus. Vielleicht wundert sich jemand, warum ich dort ".".$_SERVER... geschrieben habe, das ".". ist nötig, weil $name nur noch den Namen des Bildes enthält, und mit readfile($name) würde das PHP Script versuchen das jeweilige Bild aus dem Ordner zu holen, wo die check.php liegt, und da gibt es das Bild ja nicht. Dieser Pfad muss immer an den jeweiligen Pfad angepasst werden!
P.S: Man sollte eventuell vor der Ausgabe einer JPG Datei, den header('Content-type:image/jpeg'); setzen oder halt die nötigen header für die jeweilige Dateiausgabe optimieren, denn es kann sein , dass sonst das Bild als ASCII (Plain Text) ausgegeben wird und dass ist nicht zu gebrauchen.
Meine check.php kann man, oder besser gesagt, sollte man durch eine gescheite Passwort Abfrage ändern, dies hier ist nur ein Beispiel, wichtig ist die Verwendung von readfile!!!



Zweite Version:
Es gibt viele Webhoster, die das Mod_Rewrite Modul nicht aktiviert haben, man kann denen eine Mail schreiben oder meine Alternative nutzen.
Vorraussetzung ist, dass der Server allgemein .htaccess Passwortabfragen zulässt, was aber in der Regel der Fall ist.

Es verläuft im Grunde alles analog zum ersten Beispiel, der Unterschied ist nur, dass in dem Falle keine Umleitung auf die check.php erfolgt, wenn man die direkte URL eingibt. Ist zwar nicht so schön, aber .htaccess via Browser zu knacken würde ein Weilchen dauern.
Es gibt unzählige Tutorials, wie man mit .htaccess ein Passwortbereich aufbaut, daher will ich das Rad nicht neu erfinden, sondern verweise wieder auf http://selfhtml.teamone.de/diverses/htaccess.htm

Die .htaccess Datei müsste jetzt ungefähr so aussehen:
Code:
AuthName "geschuetzer Bereich"
AuthType Basic
AuthUserFile /home/meine-adresse/private/.htpasswd
require valid-user
Eine zweite .htpasswd Datei, auf die in der .htaccess verweisen wird, wird in diesem Fall in dem gleichen Ordner, wo auch der Bilder Ordner drin ist. Generell sollte man die .htpasswd außerhalb der für Internet-User zugängliche Bereiche legen, aber oft ist dass nicht möglich.

Die .htpasswd Datei setzt sich aus
PASSWORT:mit_crypt_codiertes_passwort
zusammen.

Der springende Punkt ist, dass eine PHP Datei, welche die Verwaltung übernimmt, die Datei nur mit readfile lesen kann.


Die zweite, hier verwendete, Methode ist keine Verbesserung oder Neuerung des Scriptes.
Die Methode soll nur zeigen, wie man ohne die Rewrite Engine an sein Ziel kommt.

Fazit: Beides sind gute Methoden um den unautorisierten Zugriff mit der direkten Methode zu unterbinden.


Ich bedanke mich bei mal_anders für das Mitlösen des Problems.

Fragen und Anregungen bitte hier posten


In den beiden Beispielen müsst Ihr die x.htaccess Datei umbenennen in .htaccess.
Achtung: Bei der .htaccess muss man den Pfad richtig anpassen und evtl. das x bei x.htaccess entfernen. Bei Windows lokalen Servern müsst Ihr in der httpd.conf den Wert für .htaccess zu x.htaccess umbenennen, da Windows Dateinamen, die mit einem Punkt anfangen, kaum verarbeiten kann.

Username und Passwort für die htaccess2 Beispiele ist User "test" und Passwort "test".
Beide Beispiele sind sofort verwendbar, einfach uploaden und im Browser aufrufen.

Beides wurde von mir getestet.

Ich weise darauf hin, dass das anapssen der .htaccess Pfade ein Problem für unerfahrene User sein kann

MM

Edit: die beispieldaten zu diesem tutorial befinden sich weiter unten (im 10. beitrag)
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline  
Alt 17.03.2005, 16:44  
Gast
 
Beiträge: n/a
Standard Re: Sichere Vebindung mit MySQL

Zitat:
Zitat von Waq
Zitat:
Zitat von noxx
Info: Dieses Projekt soll veröffentlicht werden, darum ist die Sicherheit wichtig.
Die meisten "veröffentlichten" Projekte kommen ohne aus...
Und wie kann ich dann mein Projekt vor Hackern schützen? schließlich sollen die Datenbanklogindaten nicht in falsche hände fallen.

danke phpdummi für das tut, es hat mir weitergeholfen.
Kennt jemand vieleicht noch einen link, wo alle variablen erklärt werden, die man bei htaccess verwenden kann?

danke im vorraus
greetz noxx
 
Alt 17.03.2005, 16:47  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

vor hackern willst du dich schützen? :P dazu musst du deine mysql-verbindung eigentlcih ncihts sichern, ausserdem ist das zumeist eh eine lokale verbindung, weil der mysql-server auf der gleichen kiste läuft wie dein webserver. abgesehen davon ist der schutz vor hackern viel mehr aufgabe des admins des webservers indem er diesen sauber wartet / pflegt udn updatet.
robo47 ist offline  
Alt 17.03.2005, 16:50  
Gast
 
Beiträge: n/a
Standard

kann mir jemand dies erklären?

AuthType Basic
AuthName "dein-Bereich(name)"
AuthMySQLHost localhost
AuthMySQLCryptedPasswords off
AuthMySQLDB datenbankname
AuthMySQLUser dein_db_username
AuthMySQLPassword dein_db_passwort
AuthMySQLUserTable db_tabelle
AuthMySQLNameField loginname
AuthMySQLPasswordField password
AuthMySQLKeepAlive Off
<LIMIT GET POST>
require valid-user
</LIMIT>
greetz noxX
 
Alt 17.03.2005, 16:55  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
Alt 17.03.2005, 16:56  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

das alles geht nur wenn dein apache das passende modul isntalliert hat, was ich bei webspace eher bezweifle. dazu ist dann ein root-server nötig und der kostet zeit, geld und linux-wissen!! :P

mfg
robo47
robo47 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
[Erledigt] MySQL Datenbank erstellen, nur wie? Datenbanken 9 24.04.2012 15:04
Mit php und mysql baumstrukturartiges-Menü erstellen BartTheDevil89 PHP Tipps 2008 3 11.05.2008 22:44
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] Collations für MySQL selber erstellen? Datenbanken 0 25.11.2005 19:01
mysql dump erstellen PHP Tipps 2005-2 4 03.09.2005 22:02
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
datenbanken in mysql erstellen??? PHP Tipps 2005-2 0 05.08.2005 19:41
Benötige Hilfe - Gästebuch erstellen (php, mysql) PHP Tipps 2005-2 20 02.07.2005 13:00
mysql tabelle erstellen - name variable möchtegernchegga PHP Tipps 2005 10 24.04.2005 21:01
.htaccess mit mySQL und PHP Soese PHP Tipps 2005 7 23.02.2005 23:09
[Erledigt] MySQL User erstellen Datenbanken 2 17.02.2005 17:23
mit mysql und php eine datenbank erstellen? Großes Problem PHP Tipps 2004-2 1 16.12.2004 14:53
Erstellen spalten in MySQL tabelle Datenbanken 7 14.11.2004 19:53
.htaccess Schutz mit MYSQL User DB abgleichen... PHP Tipps 2004 0 28.09.2004 13:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sichere verbindung mittels php, htaccess erstellen, sichere mysql verbindung, mysql htaccess erstellen, http://www.php.de/php-tipps-2005/19769-sichere-vebindung-mit-mysql-htaccess-erstellen-vars.html, htaccess mysql erstellen, mysql sichere verbindung, mysql vor hackern schützen, tutorial sichere passwortabfrage php, php mysql sichere verbindung aufbauen, htaccess mysql verbinden, .htaccess und mysql, sichere htaccess, htaccess sichere verbindung, sichere .htaccess, mit php verschlüsselte verbindung herstellen, authmysqldb php, php mysql schützen test, verbindung zu datenbank herstellen sichre, php .htaccess erstellen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:19 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.