Page 1 of 1

Hilfe bei Webserver

Posted: 31. Aug 2005 16:14
by Dragonsaw1337
Also ich habe mir vor kurzem einen Server zugelegt und musste jedoch kurze Zeit später feststellen, dass nicht alles so reibungslos lief wie geplant!

Ich habe ein script hochgeladen:

http://www.myvirus.net/project_new/

Welches auf meinem Heimserver durchaus lief! Nun funktioniert jedoch nichts wie ihr selbst seht und ausprobieren könnt! Kennt ihr das Problem? Könnt ihr mir helfen?

Hier mal der Code des scripts:

Code: Select all

<LINK REL="stylesheet" HREF="nw.css">
<?

# Hier ggf. den Header einfügen!


if      &#40;$anmelden&#41; &#123; anmelden&#40;$fertig, $user, $password1, $password2, $email, $vorname, $nachname, $newsletter&#41;;&#125;
else if &#40;$abmelden&#41; &#123; abmelden&#40;$fertig, $user, $password&#41;;&#125;
else if &#40;$forgot&#41;   &#123; forgot&#40;$fertig, $email&#41;;&#125;
else                &#123; login&#40;$fertig, $user, $password&#41;;&#125;


# hier ggf. den Footer einfügen!

?>



<?
function inhalt&#40;$user&#41; 
&#123;
session_start&#40;&#41;;
session_register&#40;"user"&#41;;


##################################
#Bauen Sie hier Ihren Inhalt ein!#
#                                #
?>

<?
include&#40;"news.php"&#41;;
?>


	
<?
#				   			  	 #
#   Ab hier nichts mehr ändern!	 #
##################################


&#125;
?>



<?
function login&#40;$fertig, $user, $password&#41;
&#123;
include&#40;"config.php"&#41;;

if &#40;$fertig&#41; &#123;

$abfrage = mysql_query &#40;"SELECT * FROM login WHERE user = '$user'"&#41;;
$reihen = mysql_num_rows&#40;$abfrage&#41;;
if &#40;$reihen <= 0&#41; &#123;
echo "Unbekannter Benutzername!";
&#125;
else &#123;
while &#40;$row = mysql_fetch_object &#40;$abfrage&#41;&#41; &#123;
if &#40;$row->password==$password&#41; &#123;
inhalt&#40;$user&#41;;
&#125;
else &#123;
echo "Falsches Passwort!";
&#125;
&#125;
&#125;

&#125;

else &#123;
echo "Zum anmelden geht es <a href=\"$PHP_SELF?anmelden=yes\">hier</a> lang!";
echo "<p><h2>Login</h2></p>";

	echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">";
	?>
	<table cellspacing="1" cellpadding="2" border="0">
    <tr>
    <td><font size="2">Benutzername&#58;</font></td>
    <td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
    <td><font size="2">Passwort&#58;</font></td>
    <td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
    <td colspan=2 align=center><input type=submit value=Login></td>
  </tr>
</table>
</form>
<? 
echo "<p><a href=\"$PHP_SELF?forgot=yes\">Passwort vergessen?</a><br><a href=\"$PHP_SELF?abmelden=yes\">Account löschen</a></p>";
&#125;

&#125;
?>


<?
function anmelden &#40;$fertig, $user, $password1, $password2, $email, $vorname, $nachname, $newsletter&#41;
&#123;
include&#40;"config.php"&#41;;

if&#40;$fertig&#41; &#123;
 $abfrage1 = mysql_query&#40;"SELECT user FROM login"&#41;;
 while &#40;$row = mysql_fetch_object &#40;$abfrage1&#41;&#41; &#123;
	if	&#40;$row->user==$user&#41; &#123;
	echo "Dieser Benutzer existiert schon!";
	exit;
	&#125;
	&#125;
	if &#40;$user=="" OR $password1=="" OR $password2=="" or $email=="" or $vorname=="" or $nachname==""&#41; &#123;
	echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
	&#125;
	else if &#40;$password1!=$password2&#41; &#123;
	echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
	&#125;
	else &#123;
          if &#40;$newsletter&#41;&#123;
	$anfuegen=mysql_query&#40;"INSERT INTO login &#40;user, password, email, vorname, nachname, newsletter&#41; VALUES &#40;'$user','$password1', '$email', '$vorname', '$nachname', '1'&#41;"&#41;;
          &#125;
          else&#123;$anfuegen=mysql_query&#40;"INSERT INTO login &#40;user, password, email, vorname, nachname, newsletter&#41; VALUES &#40;'$user','$password1', '$email', '$vorname', '$nachname', '0'&#41;"&#41;;&#125;
	echo "Herzlich willkommen $vorname $nachname !<br>Sie sind nun erfolgreich im Board für ehemalige Lehrer und Schüler des Gymnasium Zitadelle Jülich angemeldet!<br>Sie können sich nun einloggen&#58;<br>";
	@login&#40;&#41;;	
	&#125;
&#125;
else &#123;
	echo "<h2>Anmelden</h2>";
	echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">";
	?>
<TABLE border="0" cellpadding="0" cellspacing="0" align="center" width="500">
<TR>
        <TD class="olinks"></TD>
        <TD class="oben"></TD>
        <TD class="orechts"></TD>
</TR>
<TR>
        <TD class="links" rowspan="2"></TD>
        <TD>
<!-- Anfang Innentabelle -->
<TABLE cellpadding="0" cellspacing="0" width="100%" border="0">
<TR>
        <TD class="inol"></TD>
        <TD class="ino"></TD>
        <TD class="ino"></TD>
        <TD class="inor"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Vorname&#58;</TD>
        <TD class="nav"><input type="text" name="vorname" class="feld" maxlength="30"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Nachname&#58;</TD>
        <TD class="nav"><input type="text" name="nachname" class="feld" maxlength="30"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Gewünschter Username&#58;</TD>
        <TD class="nav"><input type="text" name="user" class="feld" maxlength="25"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Passwort&#58;</TD>
        <TD class="nav"><input type="password" name="password1" class="feld" maxlength="25"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Wiederholung&#58;</TD>
        <TD class="nav"><input type="password" name="password2" class="feld" maxlength="25"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Email&#58;</TD>
        <TD class="nav"><input type="text" name="email" class="feld" maxlength="40"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav">Newsletter</TD>
        <TD class="nav"><input name="newsletter" type="checkbox" class="check2"> Ich akzeptiere den Newsletter</TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inl"></TD>
        <TD class="nav" colspan="2" align="center"><input value="Anmelden" type="submit"></TD>
        <TD class="inr"></TD>
</TR>
<TR>
        <TD class="inul"></TD>
        <TD class="inu"></TD>
        <TD class="inu"></TD>
        <TD class="inur"></TD>
</TR>
</TABLE>
<!-- Ende Innentabelle -->
        </TD>
        <TD class="rechts" rowspan="2"></TD>
</TR>
<TR>
        <TD class="grau" height="10px"></TD>
</TR>
<TR>
        <TD class="ulinks"></TD>
        <TD class="unten"></TD>
        <TD class="urechts"></TD>
</TR>
</TABLE>
</form>
<? 
&#125;

&#125;
?>




<?
function forgot &#40;$fertig, $email&#41;
&#123;

include&#40;"config.php"&#41;;

if &#40;$fertig&#41; &#123;
$abfrage=mysql_query&#40;"SELECT * FROM login"&#41;;
while &#40;$row = mysql_fetch_object &#40;$abfrage&#41;&#41; &#123;
if &#40;$email==$row->email&#41; &#123; $ismail="true"; &#125; 
&#125;
if &#40;$ismail=="true"&#41; &#123;
$password=mysql_query&#40;"SELECT * FROM login WHERE email = '$email'"&#41;;
while &#40;$row = mysql_fetch_object &#40;$password&#41;&#41; &#123;
$nachricht="Hallo $row->user!\n\nIhr Passwort ist&#58;\n\n$row->password\n\nMfG\nAdmin";
&#125;
mail&#40;$email, "Passwort", $nachricht, "From&#58; Administrator"&#41;;
?>
<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br>
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p>

<?

@login&#40;&#41;;
&#125;
else &#123; echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";&#125;
&#125;
else &#123;

echo "<p><h2>Passwort vergessen</h2><p>";
echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr><td><font size="2">E-Mail Adresse&#58;</font></td><td align=center><input type=text name=email></td></tr>
<tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr>
</table></form></p>
<?
&#125;
&#125;
?>



<?
function abmelden&#40;$fertig, $user, $password&#41;
&#123;

include &#40;"config.php"&#41;;

if&#40;$fertig&#41; &#123;
$abfrage = mysql_query &#40;"SELECT * FROM login WHERE user = '$user'"&#41;;
$reihen = mysql_num_rows&#40;$abfrage&#41;;
if &#40;$reihen <= 0&#41; &#123;
echo "Unbekannter Benutzername!";
&#125;
else &#123;
while &#40;$row = mysql_fetch_object &#40;$abfrage&#41;&#41; &#123;
if &#40;$row->password==$password&#41; &#123;
$delete = mysql_query &#40;"DELETE FROM login WHERE user = '$user'"&#41;;
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!";
&#125;
else &#123;
echo "Falsches Passwort!";
&#125;
&#125;
&#125;

&#125;
else &#123;
	 echo "<p><h2>Abmelden</h2></p>"; 
	echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">";
	?>
	<table cellspacing="1" cellpadding="2" border="0">
    <tr>
    <td><font size="2">Benutzername&#58;</font></td>
    <td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
    <td><font size="2">Passwort&#58;</font></td>
    <td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
    <td colspan=2 align=center><input type=submit value=Abmelden></td>
  </tr>
</table>
</form>
<?
&#125;

&#125;
?>

PHP

Posted: 01. Sep 2005 12:35
by Eddie
Wenn ich http://www.myvirus.net/project_new/ öffne bekomme ich einen Fehler 404 (Datei nicht gefunden).
Wo liegt die Datei auf dem Server?
Wie heisst sie?
Hast du PHP aktiviert?
Wie sieht deine httpd.conf aus?
Wie sieht deine php.ini aus?

Posted: 01. Sep 2005 13:38
by Alex.MH
Hi,

da du ja den Namen deines Skripts nicht mitgepostet hast, kann man nur Vermutungen anstellen.

Was mir aber auffaellt ist, dass dein Skript die PHP-Option "register_globals" erwartet. Diese ist seit PHP 4.2.0 aber standardmaessig auf "off" gesetzt. Vielleicht liegts ja daran.

Generell solltest du aber dein Skript besser umschreiben, denn "register_globals=on" oeffnet Tuer und Tor fuer einige boese Sicherheitsluecken.

Gruss,
Alex