php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Datei-Datenbank sicher machen


 
arus
26-12-2018, 11:17 
 
Als erstes wünsche ich euch erst einmal schöne Feiertage,

Ich habe mir zur Aufgabe gemacht eine kleine Datenbank auf der Basis von PHP zu erstellen. Diese möchte ich zukünftig für kleinere Projekte verwenden, mache mir aber gerade etwas sorgen wegen der Sicherheit. Da ich nicht gerade der super PHP-Entwickler bin und noch ziemlich am Anfang bin was PHP angeht, dachte ich mir ich frage einmal hier im Forum nach ob ich eventuell Änderungen an dem Skripten die ich geschrieben habe vornehmen sollte. Und vor allem ob die Datenbank-Datei ausreichend von außen gesichert ist.

Hier meine Ordner Struktur:

dbase
----datas
--------db_datas_test.php
----db_funktions.php
index.php


Der Code der Index Datei:

<?php
require_once('dbase/db_functions.php');

// Update-Daten
if(isset($_POST['update_text']))
{
$new_text = $_POST['text'];
$new_url = $_POST['url'];

update_db($dabase = "test", $data = "test_text", $update = $new_text);
update_db($dabase = "test", $data = "test_url", $update = $new_url);
}

// Read-Daten
$test_text = read_db($dabase = "test", $data = "test_text");
$test_url = read_db($dabase = "test", $data = "test_url");

// Daten-Ausgeben
echo "<h1>".$test_text."</h1>";
echo "<h4>".$test_url."</h4>";

// Daten-Update-Formular
?>
<form action="" method="post">
<label>Text ändern</label>
<br>
<input type="text" name="text" value="<?php echo $test_text; ?>">
<br>
<label>Url ändern</label>
<br>
<input type="text" name="url" value="<?php echo $test_url; ?>">
<br>
<input type="submit" name="update_text" value="ändern">
</form>


Der Code der db_functions.php:


<?php //////////////////////////////////////////////////////////////////////////
// DB Functionen
//================================ Info ========================================
// Datenbank auslesen / Datenbank update
////////////////////////////////////////////////////////////////////////////////

$dbase_path = "dbase";


//==============================================================================
// Datenbank auslesen
//==============================================================================

function read_db($dbase, $data)
{
global $dbase_path;
$dbase = $dbase_path."/datas/db_datas_".$dbase.".php";

$start = "start[".$data."]";
$ende = "end[".$data."]";
// Prüfen ob Datenbank existiert
if (is_file($dbase))
{
// Datenbank einlesen
if ($db = file_get_contents($dbase, FILE_APPEND))
{
// Daten zwischen Start und End Tag ausgeben
$data = explode($start, $db);
$data = explode($ende, $data[1]);
// Datensatz ausgeben
return $data[0];
}
}
}// echo read_db($dabase = "", $data = "");


//==============================================================================
// Datenbank Update
//==============================================================================

function update_db($dbase, $data, $update)
{
$old = "start[".$data."]".read_db($dbase, $data)."end[".$data."]";
$new = "start[".$data."]\n".$update."\nend[".$data."]";

global $dbase_path;
$dbase = $dbase_path."/datas/db_datas_".$dbase.".php";

// Prüfen ob Datenbank existiert
if (is_file($dbase))
{
// Datenbank einlesen
$open_db = file_get_contents($dbase);
$new_db = str_replace($old, $new, $open_db);
file_put_contents($dbase, $new_db);
}
}//update_db($dabase = "", $data = "", $update = "");


///////////////////////////////////////////////////////////////////////////// ?>


Inhalt der db_datas_test.php:


<?php //////////////////////////////////////////////////////////////////////////
exit("Zugriff verweigert");
//================================ Info ========================================
// Nachvolgend der Inhalt der Datenbank.
///////////////////////////////////////////////////////////////////////////// ?>

start[test_text]
Ich bin ein Test Text
end[test_text]

start[test_url]
www.deine-test-domain.de
end[test_url]


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:35 Uhr.