variable in datei

aiquita

Mitglied
ich hab ein wahrscheinlich recht ungewöhnliches problem
ich möchte die verbindungsdaten zu einer mysql datenbank in variablen einer php datei abspeichern
die verbindungsdaten die abgespeichert werden sollen erhält man dabei von einem formular
ich kann die daten also nicht in eine mysql datenbank schreiben und auch nicht in eine txt datei da die nicht sicher sind
 
Hi

ist das mit dem Formular so gemeint, dass es mehrere Leute
mit verschiedenen Verbindungsdaten gibt,
oder das Formular nur zum Ändern der zentralen
Verbindungsdaten vom Admin benutzt werden soll?

Ersteres ist mit der DB sehr viel besser.
Letzteres...Warum kann der Admin nicht direkt die Datei ändern?

Warum ist die DB unsicher?
 
Hallo,

was du vor hast ist ja ansich ziemlich easy:

PHP:
<?php
	$strDbLocation = 'mysql:'.$_POST['dbName'].';host=localhost';
	$strDbUser = $_POST['dbUser'];
	$strDbPassword = $_POST['dbPassword'];
?>
<html>
	<body>
		<form action='' method='POST'>
			Name: <input type='text' name='dbName'><br />
			User: <input type='text' name='dbUser'><br />
			Passwort: <input type='password' name='dbPassword'><br />
			<input type='submit'>
		</form>
	</body>
</html>

Aber die Frage ist mal wieso du sowas wirklich brauchst. Wie auch schon sheel gefragt hat.

Es gibt ziemlich viele Möglichkeiten Daten sicher zu speichern:)
 
ich meinte die verbindungsdaten in txt datei zu speichern ist unsicher

also ich erklärs nochmal bisschen ausführlicher
man hat ned software un der nutzer auch der admin sollen nicht in verbindung mit dem code kommen weils eben für ****s gedacht ist ^^
un die mysql verbindungsdaten werden bei der installation der software abgefragt
da ist meinetwegen die datei installation.php un da ist ein formular drinne wo man die daten einträgt
tja un ich kann ja ned in da db die verbindungsdaten für sich selbst speichern :D
 
Die PHP-Datei kannst du auf die gleiche Art erstellen wie eine Txt-Datei.
fopen etc.

Also im Formular abfragen und dann eine Datei mit ca. so einem Inhalt erstellen:
PHP:
<?php
$mysql_user = '...';
$mysql_pw = '...';
...
?>
Das also logindaten.php speichern und in den anderen PHP-Dateien eben ein include

Der Grund, dass txt weniger sicher ist:
Die üblichen Servereinstellungen erlauben es, txt-Dateien im Browser anzuschauen,
php aber nicht. Bei PHP wird eben das Programm durchgemacht
und die HTML-Ausgabe zum Browser geschickt.
 
Mal als Beispiel wie man es machen könnte:
PHP:
<?php
$strHost = $_POST['host']; // TODO: post Daten reinigen
$strUser = $_POST['user']; // TODO: post Daten reinigen
$strPass = $_POST['pass']; // TODO: post Daten reinigen
$strDb   = $_POST['db'];   // TODO: post Daten reinigen

$strConn = <<<CONNSTRING
<?php
\$strHost = '{$strHost}';
\$strUser = '{$strUser}';
\$strPass = '{$strPass}';
\$strDb   = '{$strDb}';
?>
CONNSTRING;

// WARNUNG: alle Daten in der Datei werden ueberschrieben (falls vorhanden)!
file_put_contents( 'path/to/file.php', $strConn, LOCK_EX );
?>

Gruß
 
Zurück