kostenloser Webspace werbefrei: lima-city


sichere Verbindung zur Datenbank mit php

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    abizeitung17

    abizeitung17 hat kostenlosen Webspace.

    Moin,
    ich hab gerade meine erste Website programmiert und will diese nun bald online stellen. Da es hauptsächlich darum geht, dass User Daten eingeben und diese dann gesammelt werden habe ich Datenbank. Meine Frage ist nun wie ich zu dieser eine sichere Verbindung herstellen kann. Denn wenn ich einfach das Passwort in den php-Code schreibe ist das doch nicht wirklich sicher oder?
    momentan sieht meine Datenbankverbindung so aus:
    $dbh = new PDO("hostname", "username", "password");


    Gibt es hier auf lima-city irgendeine Möglichkeit das wirklich sicher zu machen?

    Danke im vorraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Im Normalfall bleiben deine Daten in einer Datei Namens bsp.-weise Config.php, von wo aus diese ausgelesen werden.
    Sollte die Datei dennoch i-wie aufgerufen werden, so sollte der PHP-Interpreter eine leere Datei ohne Inhalt liefern.

    Wenn jedoch jmd. schafft, die Datei (Dateien) per FTP zu downloaden, so bekommt er auch jene PHP-Dateien zu Gesicht und kann den Inhalt ohne Einschränkung einsehen. In dem Fall hast du allerdings größere Probleme.

    Wenn Du mit OOP arbeitest, so kannst du auch eine Klasse z.B. DBConnect.class.php erstellen, die dir dann die Instanz deines PDO's Objekt zurück gibt.

    <?php
    
    class DBConnect {
    
    	private $connection = NULL;
    	
    	function __construct() {}
    
    	function connect()
    	{
    		include_once dirname(__FILE__) . '/../conf/Config.php';
    
    		$db = NULL;
    		
    		try
    		{
    			$db = new PDO( DB_HOST, DB_USERNAME, DB_PASSWORD );
    		}
    		catch ( PDOException $e )
    		{
    			echo 'Failed to connect to MySQL: ' . $e->getMessage();
    		}
    
    		$this->connection = $db;
    	}
    
    	public function getConnection()
    	{
    		return $this->connection;
    	}
    }

    Kein Anspruch auf Richtigkeit, wäre nur meine Vorgehensweise.
  4. Hallo abizeitung17,

    erzeuge einfach ein Unterverzeichnis mit Namen db
    Den Zugriff auf dieses Verzeichnis sicherst Du durch eine .htaccess Datei.
    Wie genau du den Zugriff steuerst musst Du dir überlegen.
    Beispiel:
    Order allow,deny
    deny from all
    Allow from localhost
    Allow from 127.0.0.1

    In das Verzeichnis legst Du dan einfach eine Datei mit Namen zugangsdaten.php (Beispiel):
    <?php
    $mysqlhost="localhost";		// Servername
    $mysqluser="root";			// MySQL-Benutzer
    $mysqlpwd="meinP@sswort";				// Passwort
    $mysqlschema="meinSch€ma";			// Schema-Datenbank
    ?>

    in Deine Projektdateien (z.B. index.php) kannst du das dann einfach einbinden:
    <?php 
    	session_start();
    	require 'db/zugangsdaten.php';
    	// die Variablen ($mysqlhost $mysqluser + $mysqlpwd + $mysqlschema) sind jetzt gefüllt, Du kannst jetzt den DB-Connect herstellen
    	echo "hello world!";
    ?>


    Gruss Dunkeltuten
    :spammer:
  5. PHP Dateien werde ausgeführt und nicht angezeigt. Daher ist es unnötig diese mit .htaccess zu schützen.
    Viel wichtiger ist doch, dass der Inhalt nicht angezeigt werden kann.
    Daher muss man beim Programmieren darauf achten, wenn man die Möglichkeit bietet beliebige Dateien mit PHP Anzeigen zu lassen, dass keine PHP-Dateien angezeigt werden können.

    Wenn du das nicht vor hast, so sind die Zugangsdaten so lange sicher, wie niemand dein FTP-Passwort hat, sonst kommt man nicht an die Datei.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!