Hallo Leute,
ich habe folgendes Problem:
Für unseren Spamfilter gibt es ein kleines Webinterface, mit dem man seinen Spam untersuchen kann - auf PHP-Basis.
Eigentlich sollte das funktionieren, tut es aber nicht
Fehler werden keine ausgegeben, aber ich kann mich auch nicht einloggen,
wenn ich das entsprechende Formular die Logindaten eingebe und submit drücke,
bekomme ich nur wieder die gleiche Seite und das Formular ist wieder leer...
Ich vermute, das ganze ist entweder eine Einstellungssache von PHP,
oder aber eine Variable wird nicht richtig weitergegeben...
Vielleicht klappts auch mit der Session nicht...
ich habe keine Ahnung
Das ganze läuft auf nem aktuellen XAMPP, d.h. die neue XAMPP 1.5.3a Version ist erschienen mit ...
* Apache 2.2.2
* MySQL 5.0.21
* PHP 5.1.4
* phpMyAdmin 2.8.1
* XAMPP Control Panel Version 2.3
* FileZilla FTP Server 0.9.16c
register_globals ist off
session auto_start ist disabled
Wer sich das ganze Paket anschauen möchte: http://www.logsat.com/SpamFilter/pub...eb-9-21-05.zip
Die beiden Dateien die vermutlich den ganzen Ärger machen sind:
authenticate.php:
und listspam.php
Hat jemand ne Idee, warum's net klappt?
Gruß, Sebastian
ich habe folgendes Problem:
Für unseren Spamfilter gibt es ein kleines Webinterface, mit dem man seinen Spam untersuchen kann - auf PHP-Basis.
Eigentlich sollte das funktionieren, tut es aber nicht
Fehler werden keine ausgegeben, aber ich kann mich auch nicht einloggen,
wenn ich das entsprechende Formular die Logindaten eingebe und submit drücke,
bekomme ich nur wieder die gleiche Seite und das Formular ist wieder leer...
Ich vermute, das ganze ist entweder eine Einstellungssache von PHP,
oder aber eine Variable wird nicht richtig weitergegeben...
Vielleicht klappts auch mit der Session nicht...
ich habe keine Ahnung
Das ganze läuft auf nem aktuellen XAMPP, d.h. die neue XAMPP 1.5.3a Version ist erschienen mit ...
* Apache 2.2.2
* MySQL 5.0.21
* PHP 5.1.4
* phpMyAdmin 2.8.1
* XAMPP Control Panel Version 2.3
* FileZilla FTP Server 0.9.16c
register_globals ist off
session auto_start ist disabled
Wer sich das ganze Paket anschauen möchte: http://www.logsat.com/SpamFilter/pub...eb-9-21-05.zip
Die beiden Dateien die vermutlich den ganzen Ärger machen sind:
authenticate.php:
PHP-Code:
session_start();
require_once 'db_connect.php';
if (! isset($_SESSION['EmailTo'])) {
$EmailTo = $_POST['EmailAddress'];
if (strlen($EmailTo) < 3 ) {
?>
<html>
<head>
<title>Spam Filter - Login</title>
</head>
<body>
<form method="post" name="Login">
<table align="center" border="1" cellpadding="1" cellspacing="1">
<tr><td align="center" colspan="2"><h2>Please Login</h2></td></tr>
<tr>
<td align="right">Email Address:</td>
<td><input type="text" size="15" name="EmailAddress"></td>
</tr>
<tr>
<td align="right">Password:</td>
<td><input type="password" size="15" name="Password"></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="Login">
<input type="reset" value="Clear">
</td>
<!-- <tr><td align="center" colspan="2"><a href="Register.php">Register</a></td></tr> -->
</tr>
</table>
</form>
</body>
</html>
<?php
exit();
} else {
// Generate query.
$SQL = 'SELECT Password ';
$SQL .= 'FROM tblLogins ';
$SQL .= 'WHERE EMail = "' . $EmailTo . '"';
$query = $db->query($SQL);
if (DB::iserror($query)) die($query->getMessage());
$row = $query->fetchRow();
if (DB::iserror($row)) die($row->getMessage());
$failure = false;
if (($query->numRows() < 1) || (strlen($row[0]) < 1) || ($row[0] != $_POST['Password'])) $failure = true;
// If password fails to match.
if ($failure) {
?>
<html>
<head>
<title>Spam Filter - Failed Login</title>
</head>
<body>
<h2 align="center">The password you entered was incorrect!</h2>
<p align="center"><a href="ListSpam.php">Try Again</a></p>
</body>
</html>
<?php
exit();
} else {
$_SESSION['EmailTo'] = $EmailTo;
}
}
}
PHP-Code:
<?php
require_once 'authenticate.php';
$Quit = $_GET['Quit'];
if ($Quit = 1) {
$_SESSION['EmailTo'] = '';
}
$EmailTo = $_SESSION['EmailTo'];
// Theoretically, this should never happen.
if (strlen($EmailTo) < 1) {
unset($_SESSION['EmailTo']);
header("Location: ListSpam.php");
exit();
}
?>
<html>
<head>
<title>Spam Filter - Suspected Spam List</title>
</head>
<body>
<?php
// Determine if a sort order was chosen.
$order_by = $_GET['SortBy'];
switch($order_by) {
case 'Subject':
$order_by = 'Subject, MsgDate, EmailFrom';
break;
case 'EmailFrom':
$order_by = 'EmailFrom, MsgDate, Subject';
break;
default:
$order_by = 'MsgDate, EmailFrom, Subject';
}
// Generate query.
$SQL = 'SELECT QuarID, EmailFrom, Subject, MsgDate, MsgID, RejectDesc ';
$SQL .= 'FROM tblQuarantine, tblRejectCodes ';
$SQL .= 'WHERE (EmailTo = "' . $EmailTo . '") ';
$SQL .= 'AND (Deliver = 0) ';
$SQL .= 'AND (Expire = 0) ';
$SQL .= 'AND (tblQuarantine.RejectID = tblRejectCodes.RejectID) ';
$SQL .= 'ORDER BY ' . $order_by;
$query = $db->query($SQL);
if (DB::iserror($query)) die($query->getMessage());
?>
<h2 align="center">Spam List for <?php echo htmlspecialchars($EmailTo); ?></h2>
<form action="ResolveSpam.php" method="post">
<table border="1" cellpadding="2" cellspacing="0" width="100%">
<thead align="center" valign="bottom">
<tr>
<th scope="col" bgcolor="silver"> </th>
<th scope="col" bgcolor="silver"><a href="ListSpam.php?SortBy=EmailFrom">From</a></th>
<th scope="col" bgcolor="silver"><a href="ListSpam.php?SortBy=Subject">Subject</a></th>
<th scope="col" bgcolor="silver"><a href="ListSpam.php?SortBy=MsgDate">Date</a></th>
<th scope="col" bgcolor="silver">Rejection</th>
</tr>
</thead>
<tbody>
<?php
if ($query->numRows() < 1) {
?>
<tr><td align="center" colspan="5"><h2>No potential spam found!</h2></td></tr>
</tbody>
</table>
<?php
} else {
while ($row = $query->fetchRow()) {
if (DB::iserror($row)) die($row->getMessage());
$QuarID = $row[0];
$MsgID = $row[4];
?>
<tr>
<td align="center"><input type="checkbox" name="<?php echo 'chk_' . $QuarID; ?>"></td>
<td>
<a href="ResolveSpam.php?QuarID=<?php echo $QuarID; ?>&MsgID=<?php echo $MsgID; ?>">view</a>
<?php echo htmlspecialchars($row[1]) ?>
</td>
<td><?php echo htmlspecialchars($row[2]) ?></td>
<td><?php echo $row[3]?></td>
<td><?php echo $row[5]?></td>
</tr>
<?php
}
?>
</tbody>
</table>
<input type="submit" name="cmdDelete" value="Delete"> <input type="submit" name="cmdSend" value="Send">
</form>
<?php
}
?>
<p>Change your <a href="PasswordChange.php">password</a><br>
Login with a <a href="ListSpam.php?Quit=1">different email</a>.</p>
</body>
</html>
Gruß, Sebastian
Kommentar