Hi@All
Ich hab eine kleine Benutzerverwaltung geschrieben.
Der Benutzer loggt sich mit Name und Passwort ein. Dann hat er die Möglichkeit über ein Eingabefeld seine Nachricht zu verfassen und in einer .txt zu speichern oder auch zu löschen.
Nachfolgend mal mein Script. Schaut doch bitte mal drüber ob es etwas zu verbessern oder Sicherheitslücken gibt.
Bisher läuft alles wie gewünscht.
die Loginseite:
die Verwaltungsseite:
Schon mal Danke im Voraus.
Ich hab eine kleine Benutzerverwaltung geschrieben.
Der Benutzer loggt sich mit Name und Passwort ein. Dann hat er die Möglichkeit über ein Eingabefeld seine Nachricht zu verfassen und in einer .txt zu speichern oder auch zu löschen.
Nachfolgend mal mein Script. Schaut doch bitte mal drüber ob es etwas zu verbessern oder Sicherheitslücken gibt.
Bisher läuft alles wie gewünscht.
die Loginseite:
PHP-Code:
<?
// neue Session starten
session_start();
// datenbankverbindung
include("url");
// variablen initialisieren
$table = "db_tabelle";
$meldung = "";
$query = mysql_query("SELECT benutzer,id FROM $table");
// Login überprüfen
if(isset($_POST['login'])){
$benutzer= strip_tags($_POST['benutzer']);
$pass = strip_tags($_POST['pass']);
$query2 = mysql_query("SELECT pass, benutzer FROM $table WHERE benutzer='".$benutzer."'");
$ausgabe = mysql_fetch_array($query2);
// Passwort vergleichen mit Passwort aus DB
if((md5($pass) == $ausgabe['pass']) && $benutzer == $ausgabe['benutzer']){
$_SESSION['status'] = 1;
$_SESSION['benutzer'] = $benutzer;
// datei zum schreiben öffnen
// wenn nicht vorhanden, wird sie angelegt
$filename = "url/news_".strtolower(str_replace(" ","",$_POST['benutzer'])).".txt";
$handle = fopen($filename,"a+");
header("Location: url?benutzer=$benutzer");
}else{
$meldung = "Falsches Passwort oder falscher Benutzername! Bitte versuchen Sie es erneut!";
}
}
?>
PHP-Code:
session_start();
// Session abmelden
if(isset($_POST['destroy'])){
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
header("Location: url");
exit();
}
if(($_SESSION['status'] != 1) || ($_SESSION['benutzer'] != $_GET['benutzer'])){
header("Location: url?login=fehler");
}
// Variable definieren
$filename = "url/news_".strtolower(str_replace(" ","",$_GET['benutzer'])).".txt";
$meldung = "";
if(isset($_POST['senden'])){
// newstext in Variable packen
$content = $_POST['newstext'];
// alle Zeilenumbrüche entfernen und durch +++ ersetzen
$content = str_replace(array("\r\n","\n","\r")," +++ ",$content);
$content = ereg_replace("[ +++ ]{2,}"," +++ ",$content);
// Sichergehen, dass die Datei existiert und beschreibbar ist
if (is_writable($filename)) {
// $filename im Screibmodus öffnen
if (!$handle = fopen($filename, "w")) {
print "Kann die Datei $filename nicht öffnen";
exit;
}
// Schreibe $content in die geöffnete Datei.
if (!fwrite($handle, $content)) {
$meldung = "Ihre News wurden <b>nicht</b> geändert!";
}
$meldung = "Ihre News wurden geändert!";
fclose($handle);
} else {
$meldung = "»Ihre News wurden <b>nicht</b> geändert!«";
}
}
// inhalt der .txt löschen
if(isset($_POST['loeschen'])){
// Variable Content leeren
$content = "";
if(is_writable($filename)){
//$fiename im Schreibmodus öffnen
if(!$handle = fopen($filename,"w")){
print "kann Datei $filename nicht öffnen!";
exit();
}
// $content in geöffnete Datei schreiben
if(!fwrite($handle, $content)){
$meldung = "Ihre News wurden nicht gelöscht!";
}
$meldung = "Ihre News wurden gelöscht!";
fclose($handle);
}
}
?>
Kommentar