Community

9dots.de Webdesign Board

 

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 

 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 


Loginscript
Gehe zu Seite 1, 2  Weiter
 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    9dots.de Webdesign Community Foren-Übersicht -> Coding-Tutorials
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
zaffi
Mitglied
Mitglied


Angemeldet: 28.07.2004
Beiträge: 52


BeitragVerfasst am: 07.08.2004, 03:12    Titel: Loginscript Antworten mit Zitat
Ok, dann will ich mal anfangen. Da es mein erstes Tutorial überhaupt ist, hoffe ich, dass ich alles richtig mach und mich nicht zu dumm anstelle. Und ich weis selbst, dass ich in Deutsch nicht besonders gut bin und PHP noch viele Fehler mache. Verlegen

Voraussetzung
- Genügend Zeit
- Space mit PHP & MySQL

Info
Ich arbeite mit Sessions & md5-Verschlüsselung, trotzdem ist ein Script NIE hacksicher. Es sind mehrer Benutzer möglich mit verschiedenen Rechten. Meine MySQL-Tabelle für das Loginscript habe ich "login" genannt. Ich habe mich nur auf Username, Password und Rechte beschränkt.

______________________________________________

Code:

#### index.php ####
<?
session_start();
session_register("login_id","login_user","login_password","login_right");
$xid = session_id();

include ('config.php');
?>


Fangen wir mal mit der ersten Seite an. Diesen Code müsst ihr in die erste Datei (z.B. index.php) schreiben, die auf eurer Page erscheint, da er nun die Session erstellt (siehe session_start) und über den ganzen Besuch hin gebraucht wird. Durch den Befehl session_register registrier ich mehrere Variablen innerhalb der Session. Ich speichere die SessionID in die Variable $xid. Durch den Befehl include ('config.php'); lass ich die MySQL-Daten einlesen.

Code:

#### config.php ####
<?
$dbserver ="****";
$dbuser ="****";
$dbname ="****";
$dbpasswd ="****";

$db=mysql_connect($dbserver,$dbuser,$dbpasswd);
mysql_select_db($dbname,$db);
?>


Hier sind die ganzen MySQL-Daten in Variablen gespeichert und der "mysql_connect" auch in eine Variable.

Code:

#### navigation.php ####
<?php

if ($login_user != "")
         {

         $mdata_temp = mysql_query("SELECT * FROM login WHERE user = '$login_user'");
         $mdata = mysql_fetch_array($mdata_temp);
         $m_id = $mdata[id];
         $m_user = $mdata[user];
         $m_password = $mdata[password];
         $m_right = $mdata[right];

               if ($m_right == 1)
               {
         echo "User mit dem Recht 1";
               }

               if ($m_right == 0)
               {            echo "Text, egal für welchen Wert.";
               }
         echo "":
         }
else {
         echo "<tr>";
         echo "<td colspan='2'><b>.: Login :.</b><br></td>";
         echo "</tr>";
         echo "<form method='post' action='login.php'>";
         echo "<tr>";
         echo "<td>Benutzername:</td>";
         echo "<td align='right' valign='middle'><input class='input_login' name='login_user' type='text' size='15'></td>";
         echo "</tr>";
         echo "<tr>";
         echo "<td>Passwort:</td>";
         echo "<td align='right' valign='middle'><input class='input_login' name='login_password' type='password' size='15'></td>";
         echo "</tr>";
         echo "<tr>";
         echo "<td height='25' align='right' valign='middle' colspan='2'><input class='input_login' name='login' type='submit' value='LogIn'></td>";
         echo "</tr>";
         echo "</form>";
   }
?>


Zur Erklärung Winken Als erstes wird geprüft ob du eingelogt bist if ($login_user != "") {}. Wenn du eingelogt bist, werden die Daten aus der MySQL-Tabelle gelesen, darunter auch deine Rechte. Mit der if-Abfrage kannst du jetzt bestimme Befehle, Links usw. einem bestimmten Rechtewert zuteilen if ($m_right == 1). Wenn du aber nicht eingelogt bist else {....} erscheint dir das Loginfeld. Jetzt kannst du deinen Username eingeben und dein Password und auf "LogIn" klicken und du wirst auf die login.php verwiesen.

Code:

// #### login.php ####
<?

if ($login != '' && $login != 'none') {

$user = $_POST['login_user'];
$pass = md5($_POST['login_password']);
$mdata_temp = mysql_query("SELECT * FROM login WHERE user = '$user'");
$mdata = mysql_fetch_array($mdata_temp);
$m_pass = $mdata[password];
$id = $mdata[id];

if ($m_pass == $pass)
{
   $login_id = $id;
   $login_user = $user;
   $login_password = $pass;
   session_register("login_id","login_user","login_password");
   $xid = session_id();
   
   echo "<b>Login war erfolgreich!</b><br>";
   echo "Sie werden weitergeleitet! - oder <a href='news.php'>hier</a> klicken";
   echo "<meta http-equiv='refresh' content='2; URL=news.php'>";

} else {

   session_destroy();
   echo "<b>Sie haben ein falsches Passwort eingegeben<br>oder den Benutzer gibt es nicht !</b><br>";
   echo "Sie werden weitergeleitet! - oder <a href='news.php'>hier</a> klicken";
   echo "<meta http-equiv='refresh' content='5; URL=news.php'>";
   }
}

?>


Durch die if-Abfrage if ($login != '' && $login != 'none') { musst du im dem Loginformular etwas eingegeben haben. Danach wird dein eingegebenes Password mit dem aus der Datenbank verglichen if ($m_pass == $pass). Sollte es stimmen, werden den Variablen in der Session, die wir vorher auf der ersten Seite erstellt haben, neue Werte zugeteilt. Falls es nicht stimmen sollte, wird deine Session zerstört und gelöscht. else {...}.

Code:

// #### logout.php ####
<?
   session_destroy();
   echo "<b>Sie haben sich erfolgreich ausgelogt!</b><br>";
   echo "Sie werden weitergeleitet! - oder <a href='news.php'>hier</a> klicken";
   echo "<meta http-equiv='refresh' content='5; URL=news.php'>";
?>


In dieser Datei wird deine Session gelöscht und wirst automatisch ausgelogt. Das bedeuted, du kannst einen link auf diese Datei setzen zum Auslogen.

Code:

// #### geschützte datei ####
<?
if ($login_user != "") {
         $mdata_temp = mysql_query("SELECT * FROM login WHERE user = '$login_user'");
         $mdata = mysql_fetch_array($mdata_temp);
         $m_id = $mdata[id];
         $m_user = $mdata[user];
         $m_password = $mdata[password];
         $m_right = $mdata[right];

               if ($m_right == 1)
               {
               }

               if ($m_right == 0)
               {
               }
}
else {echo "<b>Sie müssen sich erst einloggen!</b>";}
?>

Als erstes wird wieder geprüft ob du eingelogt bist if ($login_user != ""). Falls nein, wirst du aufgefordert dich einzuloggen else {echo "<b>Sie müssen sich erst einloggen!</b>";}Zwischen if ($login_user != "") { und } werden jetzt deine Rechtewerte geprüft, ob du für das Script oder was auch immer überhaupt zugelassen bist.

Code:

CREATE TABLE `login` (
  `id` int(3) NOT NULL auto_increment,
  `user` varchar(35) NOT NULL default '',
  `password` varchar(35) NOT NULL default '',
  `right` varchar(50) NOT NULL default '0',
  PRIMARY KEY  (`id`)
)


So die die MySQL-Tabelle aus. Also ich weis nicht ob die Befehle so passen, deswegen hab ich auch noch lieber ein Bild gemacht. ->Hier<-

______________________________________________

So das dürfte es gewesen sein. Ich entschuldige mich nochmal für mein schlechtes Deutsch und für meinen komischen Codingstil. Ich hoffe es hilft euch trotzdem weiter. Fragen bitte posten. Wenn ich etwas zu unklar erklärt habe, auch posten.

Zur Zeit arbeite ich auch noch an einem Registerscript. Bin schon ziemlich weit. Ich werde es hier auch noch posten so bald es fertig ist. Ich bin für Verbesserungsvorschläge offen. Naja, es ist schon ziemlich spät, deswegen hör ich besser auf, sonst schreib ich noch mehr Dummheiten.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 07.08.2004, 07:03    Titel: Antworten mit Zitat
nettes tutorial, ich habe aber - wenn du erlaubst - noch einiges anzumerken Smilie

1. session-speicherort: bei grossen (aber auch kleinen) scripten, eignet sich die mysql-tabelle wunderbar fuer die daten der sessions. d.h. alle daten ueber alle user (oder gaeste) die momentan eine session der seite besitzen, sind in einer mysql-tabelle (sehr schoen um heraus zu finden, wer alles online ist, etc)

dies macht man mit der funktion session_set_save_handler();
lest euch am besten das bei php.net durch, ist etwas schwierig, aber wenns klappt, dann freut man sich umso mehr

2. die rechte wuerd ich grundsaetzlich in einer neuen tabelle `right` speichern, als recht bevorzuge ich ein wort (andere machen es z.b. mit zahlen), z.b. das recht news zu adden: NEWS_ADD

3. arbeitet mit konstanten, sie erleichtern alles! konstanten werden einmalig mit einem wert definiert, und koennen nicht mehr (und sollten auch nicht mehr) umdefiniert, etc. werden - d.h. der wert ist fest. auf konstanten kann ueberall im script zugegriffen werden (sind also global)

4. sonst sieht es huebsch aus, ausser den sachen von wegen kommentieren, ausgeben, etc - das ist aber jedem sein eigener stil

5. was noch waere : fang die variablen von $_POST, $_GET und $_COOKIE erst ab und check sie durch - wenn ein user im formular als user nun ' eingibt, koennte es leicht passieren das die im mysql-query rumpfuschen koennen Smilie

6. nen cookie-login bauste auch noch, oder ? Auf den Arm nehmen

7. und gaaanz wichtig, haett ich beinahe vergessen: session koennen per session id von egal welchem computer uebernommen werden. deswegen speichert man in der session noch die ip ab, die der "rechtmaessige" besitzer hat (also der, der die session eingeleitet hat).

$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];

dann fraegt man JEDES MAL (!!!) wenn die session initialisiert wurde (also nach session_start() ab, ob $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'], falls dies nicht der fall ist, session_destroy();

... und weg ist wieder ne sicherheitsluecke Smilie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
zaffi
Mitglied
Mitglied


Angemeldet: 28.07.2004
Beiträge: 52


BeitragVerfasst am: 07.08.2004, 12:18    Titel: Antworten mit Zitat
Danke für die Verbesserungsvorschläge. Ich werde zwar bisschen Zeit brauchen das alles umzusetzen, weil ich noch nie so richtig intensiv mit PHP beschäftigt habe und es deswegen nicht so gut beherrsche aber ich probiers einfach mal. Was mir noch so vorschwebt ist

- Cookieunterstützung
- Registration
- Profilcenter
- Sicherheitslückenstopfen

Bei der Cookieunterstützung komm ich überhaupt nicht weiter weil ich davon überhauptkeine Ahnung, weil ich Cookie nur mit Java kenne und ich das überhaupt nicht kann. Registration hab ich noch das Problem wegen dem Usernamen, weil der nur einmal sein sollte und ich einfach zu dumm bin ne if-Abfrage zu erstellen die das bei der Registration verhindern soll. Profilcenter dürfte eigentlich kein Problem sein, falls es jmd braucht kann ichs vielleicht gleich machen. Sicherheitslücken die du genannt hast werd ich versuchen zu "stopfen".

Nochmal danke für die Infos und Hilfen.

// #### Edit ####
Könntest mir das mal mit nem session_set_save_handler zeigen, an nem Beispiel? Ich blick da ganz ehrlich nicht durch Smilie Wär nett
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 07.08.2004, 18:33    Titel: Antworten mit Zitat
also 1. Cookies:

Cookies kann man nur erstellen, aendern oder setzen, wenn die Page-Ausgabe noch nicht gestartet wurde (ebenso wie sessions). d.h. also auch ein leerzeichen vor dem php-start-tag <? wird einen fehler erzeugen.

Einen Cookie erstellt man mit setcookie('name', 'wert'); und man kann sie ueber $_COOKIE['name'] ansprechen.

Cookies werden auf dem Clienten gespeichert. Dieser schickt - wenn er einen Cookie findet, der zu dieser Domain passt - den Cookie mit. Schau dir am besten mal http://www.php.net/setcookie an.


2. session_save_handler (Achtung lang Winken:

Beispiel:

Code:

//Start der PHP Datei
//Die Parameter der Funktion, sind die Funktionsnamen der Funktionen, die bei den jeweiligen Aktionen ausgefuehrt werden sollen
//siehe www.php.net/set_session_save_handler
session_set_save_handler('sessionOpen', 'sessionClose', 'sessionRead', 'sessionWrite', 'sessionDestroy', 'sessionGC');


irgendwo anders in der php datei, erstellst du die jeweiligen (ich hab sie gekuezrt) funktionen:
Code:

function sessionOpen($save_path, $session_name) { return true; }
function sessionClose() { return true; }

//Liest session_data aus der DB und gibt sie zurück
//AENDERN!
function sessionRead($idPar)
{
  if (isset($idPar))
  {
    if (strlen($idPar) == 32)
    {
      $query = mysql_query("SELECT `data` FROM `session` WHERE `sessionid`='" . $idPar . "'");
      $row = @mysql_fetch_row($query);
      if (!$row[0]) $sessData = "";
      else $sessData = $row[0];
      return($sessData);
    }
    else return "";
  }
  else return "";
}


//Schreibt gegebene session_data in eine neue Zeile (oder falls Zeile der ID schon existiert, ändern)
//AENDERN!
function sessionWrite($idPar, $sessDataPar) { return true; }

//Loescht die angegebene session
//AENDERN!
function sessionDestroy($idPar) { return true; }

//Garbage Collector
//Diese Funktion dient dazu, die vorhandenen, abgelaufenen Sessions zu loeschen
function sessionGC($maxLifeTime) { return true; }


Die Parameter sind fest vorgeschrieben, den Namen der Parameter sind variabel. In die Funktionen gehoeren die MySQL-Queries. Achtung! Falls Fehler im MySQL-Query/PHP bestehen, wird kein Fehler ausgegeben, es funktioniert einfach nicht Smilie
Die Session-ID ist ein 32-Zeichen langer String.

Hier die Tabelle:
Code:

session
  sessionid //32 Zeichen langes VARCHAR, Index
  data //TEXT, hier kommen von PHP die Infos rein
  erstellt //timestamp, wann die session erstellt wurde
  time //timestamp, der letzten aktualisierung der session
  ip //die ip wird ebenfalls in der tabelle gespeichert, nicht zu verwecheln mit $_SESSION['ip']
  file //die datei die gerade geoeffnet wurde, z.b. um ne statistik zu machen, wer alles welche datei geoeffnet hat



Hier noch ein paar Seiten:
http://www.dclp-faq.de/ch/ch-version4_session.html
http://de2.php.net/session_set_save_handler

Ich hoffe ich konnte dir helfen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
zaffi
Mitglied
Mitglied


Angemeldet: 28.07.2004
Beiträge: 52


BeitragVerfasst am: 07.08.2004, 19:01    Titel: Antworten mit Zitat
Danke für die ganzen Hilfen, Links usw, aber ich blick da überhaupt nicht durch. Alles viel zu kompliziert. Ich check da garnichts mehr. Sry.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 07.08.2004, 19:31    Titel: Antworten mit Zitat
np,

mach erstmal so weiter wie dus wolltest, dann kannst du spaeter auf das umschwenken (wenn du noch lust hast *bg)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
zaffi
Mitglied
Mitglied


Angemeldet: 28.07.2004
Beiträge: 52


BeitragVerfasst am: 07.08.2004, 21:05    Titel: Antworten mit Zitat
Hmmm, mir lässt es doch keine Ruh. Wo könnt ich den die setcookies hineinschreiben? Und soll ich den

Code:

session_set_save_handler('sessionOpen', 'sessionClose', 'sessionRead', 'sessionWrite', 'sessionDestroy', 'sessionGC');


hinschreiben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 07.08.2004, 21:51    Titel: Antworten mit Zitat
du fraegst vor dem html-login-formular erstmal ab, ob es einen cookie gibt mit if (isset($_COOKIE['userid'])) ... falls ja, pruefst du die daten des cookies (obs den user gibt und ob das pw stimmt) ... falls nein, kommt der normale login (mit ner checkbox von wegen cookie setzen)

wenn man dann submit drueckt, user und pw stimmt, etc (und z.b. irgendwohin weitergeleitet wird) setzt man dann den cookie (davor darf aber noch nichts ausgegeben werden)

der save_handler wird vor dem session_start() initialisiert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
zaffi
Mitglied
Mitglied


Angemeldet: 28.07.2004
Beiträge: 52


BeitragVerfasst am: 07.08.2004, 21:54    Titel: Antworten mit Zitat
Ha, danke für die schnelle Antwort, werd das gleich mal ausprobieren wenn ich Zeit habe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gladiator_
Gast






BeitragVerfasst am: 08.08.2004, 20:33    Titel: Antworten mit Zitat
Thomas`tiweb hat folgendes geschrieben:


1. session-speicherort: bei grossen (aber auch kleinen) scripten, eignet sich die mysql-tabelle wunderbar fuer die daten der sessions. d.h. alle daten ueber alle user (oder gaeste) die momentan eine session der seite besitzen, sind in einer mysql-tabelle (sehr schoen um heraus zu finden, wer alles online ist, etc)

dies macht man mit der funktion session_set_save_handler();
lest euch am besten das bei php.net durch, ist etwas schwierig, aber wenns klappt, dann freut man sich umso mehr



6. nen cookie-login bauste auch noch, oder ? Auf den Arm nehmen

7. und gaaanz wichtig, haett ich beinahe vergessen: session koennen per session id von egal welchem computer uebernommen werden. deswegen speichert man in der session noch die ip ab, die der "rechtmaessige" besitzer hat (also der, der die session eingeleitet hat).

$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];

dann fraegt man JEDES MAL (!!!) wenn die session initialisiert wurde (also nach session_start() ab, ob $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'], falls dies nicht der fall ist, session_destroy();

... und weg ist wieder ne sicherheitsluecke Smilie


1. mich würde interessieren, was man ausser user online noch herausfinden kann? fuer user online hab ich nämlich ein eigenes sehr gutes script, das im counter (bzw. page stats) integriert ist.

6. mit cookie login ärgert man sich besonders, also ganz wichtig:
cookie setzen:
Code:

setcookie("CookieName","Wert",time()+3600*24,"/");

und löschen mit:
Code:

setcookie("CookieName","Wert",time()-3600*24,"/");

wichtig ist dabei, dass der wert der gleiche ist, das datum in der vergangenheit liegt, und dass "/" als letztes argument, das heisst dass jede datei in diesem oder allen unterverzeichnissen auf das cookie zugreifen kann, denn wenn nicht, dann
setzt zB .php?arg1=val1 das cookie und löschen darf es .php?arg2=val2 NICHTmehr.

7. session würd ich nicht destroyen, würd eher mit session_name() den namen der session auslesen, und auf die gleiche url, allerdings ohne den parameter der session_id als GET argument .sonst wird der user, der den link verschickt hat, ausgeloggt.
beispiel:
aufgerufene URL : .php?arg1=val1&PHPSESSID=12345...
auf url, die weitergeleitet wird: .php?arg1=val1

kann man mit regex ganz schön machen Smilie

[/code]
Nach oben
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 09.08.2004, 00:23    Titel: Antworten mit Zitat
1. man kann z.b. die rubrik sehen, auf die welche user gerade sind, kann alle user auflisten, die gerade online sind (mit datei, id, etc) ... es ist alles sehr viel einfacher, weil man einfach nur nen mysql-query machen muss

6. oehm, also cookie loeschen macht man normalerweise mit dem Wert "", sonst raffen das mit der negativen zeit manche browser nicht oder der cookie bleibt mit dem wert bestehen (was z.b. auch sicherheitsrisiko ist) - auf das loeschen hat das, soweit ich weis - und soweit es auch bei mir geht, keinen einfluss Smilie

7. joa, hast recht - ich mach das sowieso mit rechten Winken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
gladiator_
Gast






BeitragVerfasst am: 09.08.2004, 07:12    Titel: Antworten mit Zitat
naja cookies sind ja an sich ein krampf...

[/quote]
Nach oben
unex`9dots
Administrator
Administrator


Angemeldet: 02.08.2003
Beiträge: 1106
Wohnort: Karlsruhe
Interessen: Coding, Segeln, Schwimmen, PC

BeitragVerfasst am: 09.08.2004, 10:03    Titel: Antworten mit Zitat
auch wenns grad nicht zum Thema passt:

könntest du dich bitte anmelden gladiator_ sonst muss ich nurnoch posts von registrierten Usern zulassen. Danke.

P.S. ich mag Cookies auch nicht Smilie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Gast







BeitragVerfasst am: 09.08.2004, 11:48    Titel: Antworten mit Zitat
dann mach so dass nurnoch registered leute posten können..
ich meld mich nicht an, ausser ich hab grad lust drauf.
Nach oben
bl:nd
Moderator
Moderator


Angemeldet: 04.06.2004
Beiträge: 3499


BeitragVerfasst am: 09.08.2004, 14:58    Titel: Antworten mit Zitat
bist ja auch was ganz besonderes... Mit den Augen rollen
dann lass das mit dem registrieren doch bleiben und poste einfach nix mehr - bin mir sicher, dass wir hier auch ganz gut ohne dich zurechtkommen...

sry, aber das musste jetzt sein...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    9dots.de Webdesign Community Foren-Übersicht -> Coding-Tutorials Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Board Software by phpBB © 2001, 2005 phpBB Group. Impressum
Dominik Wuttke - Moritz Münchmeyer - Joachim Nagel GbR.
AGB