MySQL-Befehle in PHP

Ich habe eben deinen Code ausprobiert und einen Fehler provoziert indem ich den Datenbank-Namen falsch eingetragen habe. Mit deinem Code wird ein etwas ausführlicher Fehlercode angezeigt wo auch dann der Datenbank-Name und der User-Name drin steht.

Ich weiss nicht genau aber ich halte das für eine kleine Sicherheitslücke.
 
Wie gesagt, was Du mit der Fehlermeldung am Ende machst ist ja vollkommen Dir selbst überlassen.

Du kannst es auch in dieser Form machen:
PHP:
$db = mysql_connect( 'Host', 'User', 'Passwort' ) or die (
    trigger_error( 'Error: ' . mysql_errno() . ' - ' . mysql_error(), E_USER_WARNING )
);
 
mysql_select_db( 'DB-Name', $db ) or die (
    trigger_error( 'Error: ' . mysql_errno( $db ) . ' - ' . mysql_error( $db ), E_USER_WARNING )
);
und loggst die Warnung in eine Datei:
PHP:
ini_set( 'log_errors', 'On' );
ini_set( 'error_log', '/path/to/file/error.log' );

Gruß

//EDIT
Die Ausgabe der Errors solltest Du dann natürlich noch unterbinden:
PHP:
ini_set( 'display_errors', 'Off' );
 
Zuletzt bearbeitet:
Ich habe mir das ganze mal etwas genauer angeschaut.

Ich habe eine PHP-Datei erstellt die von meinem Forum quasi als "eigene Seite" betrachtet wird. In dieser PHP-Datei wird das Back-End von vBulletin geladen. So wird es jedenfalls bei vBulletin erklärt. Durch ein Plug-In (Das Plug-In System in vBulletin kann man sich so ähnlich vorstellen wie eine PHP-Datei) wird dann mein Skript eingebunden.

Also: In die PHP-Datei wird das vBulletin Back-End und mein Skript geladen. Kann es sein das deswegen auch MySQL-Befehle ausgeführt werden ohne das man eigentlich eine DB-Verbindung aufbaut (Kein Host, User, Password, Datenbankname und auch kein Verbindungsaufbau)?
 
Zurück