2026-04-05_14-37-09Z_Sunday fix for status change on reclicking link

This commit is contained in:
2026-04-05 16:37:09 +02:00
parent c92a73ff4e
commit e59d26d0ea
2 changed files with 74 additions and 6 deletions

View File

@@ -17,23 +17,64 @@ include 'header.php';
$ip = $_SERVER["REMOTE_ADDR"];
# Remove any stale requests.
# Remove any stale REQUEST_UNVERIFIED requests.
# This should be enough to deter attackers while been short enough to allow real hosts to request a show.
$query_delete_old = "DELETE
$query_delete_old_REQUEST_UNVERIFIED = "DELETE
FROM
reservations
WHERE
reservations.timestamp + INTERVAL 1 HOUR <= UTC_TIMESTAMP()
AND reservations.status = 'REQUEST_UNVERIFIED'";
$result_delete_old = @mysqli_query($connection, $query_delete_old);
logextra( "Deleting requests older than 1 hour" . $result_delete_old );
$result_delete_old_REQUEST_UNVERIFIED = @mysqli_query($connection, $query_delete_old_REQUEST_UNVERIFIED);
if(!$result_delete_old_REQUEST_UNVERIFIED) {
problem("ERROR: DB problem - The old REQUEST_UNVERIFIED records were not removed from the reservations db.");
}
else{
logextra( "mysql_query.result: \"$result\"\n" );
}
logextra( "Removed REQUEST_UNVERIFIED requests older than 1 hour " . $result_delete_old_REQUEST_UNVERIFIED );
# Remove any stale REQUEST_EMAIL_SENT requests.
# This should be enough for someone to acutally upload a show
$query_delete_old_REQUEST_EMAIL_SENT = "DELETE
FROM
reservations
WHERE
reservations.timestamp + INTERVAL 3 HOUR <= UTC_TIMESTAMP()
AND reservations.status = 'REQUEST_EMAIL_SENT'";
$result_delete_old_REQUEST_EMAIL_SENT = @mysqli_query($connection, $query_delete_old_REQUEST_EMAIL_SENT);
if(!$result_delete_old_REQUEST_EMAIL_SENT) {
problem("ERROR: DB problem - The old REQUEST_EMAIL_SENT records were not removed from the reservations db.");
}
else{
logextra( "mysql_query.result: \"$result\"\n" );
}
logextra( "Removed REQUEST_EMAIL_SENT requests older than 3 hours " . $result_delete_old_REQUEST_EMAIL_SENT );
# Remove stale requests from this IP Address after 15 minutes.
# This should be enough to deter attackers while been short enough to allow real hosts to request a show.
$query_delete = "DELETE FROM reservations WHERE reservations.ip = '$ip' AND reservations.timestamp + INTERVAL 15 MINUTE <= UTC_TIMESTAMP() AND reservations.status = 'REQUEST_UNVERIFIED'";
$query_delete = "DELETE
FROM
reservations
WHERE
reservations.ip = '$ip'
AND
reservations.timestamp + INTERVAL 15 MINUTE <= UTC_TIMESTAMP()
AND
reservations.status = 'REQUEST_UNVERIFIED'";
$result_delete = @mysqli_query($connection, $query_delete);
logextra( "Remove stale requests from this \"${ip}\" IP Address after 15 minutes. " . $result_delete_old );
if(!$result_delete) {
problem("ERROR: DB problem - The old REQUEST_UNVERIFIED records were not removed from this \"${ip}\" IP Address after 15 minutes.");
}
else{
logextra( "mysql_query.result: \"$result\"\n" );
}
logextra( "Remove REQUEST_UNVERIFIED stale requests from this \"${ip}\" IP Address after 15 minutes. " . $result_delete );
// --------------------------------------------
// Get first free slot