fix
This commit is contained in:
@@ -201,14 +201,12 @@ foreach ($suspiciousAgents as $agent) {
|
||||
}
|
||||
}
|
||||
|
||||
// Check submission speed (too fast = likely bot)
|
||||
if (!isset($_SESSION['form_start_time'])) {
|
||||
$_SESSION['form_start_time'] = time();
|
||||
}
|
||||
|
||||
$submissionTime = time() - $_SESSION['form_start_time'];
|
||||
if ($submissionTime < 5) { // Less than 5 seconds to fill form
|
||||
sendResponse(false, 'Form submitted too quickly');
|
||||
// Check submission speed (too fast = likely bot) - More lenient timing
|
||||
if (isset($_SESSION['form_start_time'])) {
|
||||
$submissionTime = time() - $_SESSION['form_start_time'];
|
||||
if ($submissionTime < 2) { // Only block if under 2 seconds (very aggressive bots)
|
||||
sendResponse(false, 'Form submitted too quickly');
|
||||
}
|
||||
}
|
||||
|
||||
// Update rate limit counter
|
||||
@@ -303,6 +301,9 @@ if (!file_exists('logs')) {
|
||||
|
||||
// Send email
|
||||
try {
|
||||
// Clear any previous errors
|
||||
error_clear_last();
|
||||
|
||||
$emailSent = mail($to, $subject, $emailHTML, $headers);
|
||||
|
||||
if ($emailSent) {
|
||||
@@ -310,20 +311,28 @@ try {
|
||||
$logEntry = date('Y-m-d H:i:s') . " - Contact form submission from " . $email . " (" . $_SERVER['REMOTE_ADDR'] . ")\n";
|
||||
file_put_contents('logs/contact-submissions.log', $logEntry, FILE_APPEND | LOCK_EX);
|
||||
|
||||
|
||||
sendResponse(true, 'Thank you for your message! We will get back to you within 24 hours.');
|
||||
} else {
|
||||
// Log failed email
|
||||
$logEntry = date('Y-m-d H:i:s') . " - FAILED contact form submission from " . $email . " (" . $_SERVER['REMOTE_ADDR'] . ")\n";
|
||||
// Get detailed error information
|
||||
$lastError = error_get_last();
|
||||
$errorMsg = $lastError ? $lastError['message'] : 'Unknown mail error';
|
||||
|
||||
// Log failed email with detailed error
|
||||
$logEntry = date('Y-m-d H:i:s') . " - FAILED contact form submission from " . $email . " (" . $_SERVER['REMOTE_ADDR'] . ") - Error: " . $errorMsg . "\n";
|
||||
file_put_contents('logs/contact-errors.log', $logEntry, FILE_APPEND | LOCK_EX);
|
||||
|
||||
sendResponse(false, 'There was an error sending your message. Please try again or contact us directly.');
|
||||
// Check common issues
|
||||
if (strpos($errorMsg, 'sendmail') !== false) {
|
||||
error_log("Mail server configuration issue: " . $errorMsg);
|
||||
}
|
||||
|
||||
sendResponse(false, 'There was an error sending your message. Please try again or contact us directly at info@ukdataservices.co.uk');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// Log exception
|
||||
$logEntry = date('Y-m-d H:i:s') . " - EXCEPTION: " . $e->getMessage() . " from " . $email . " (" . $_SERVER['REMOTE_ADDR'] . ")\n";
|
||||
// Log exception with full details
|
||||
$logEntry = date('Y-m-d H:i:s') . " - EXCEPTION: " . $e->getMessage() . " from " . $email . " (" . $_SERVER['REMOTE_ADDR'] . ") - File: " . $e->getFile() . " Line: " . $e->getLine() . "\n";
|
||||
file_put_contents('logs/contact-errors.log', $logEntry, FILE_APPEND | LOCK_EX);
|
||||
|
||||
sendResponse(false, 'There was an error processing your request. Please try again later.');
|
||||
sendResponse(false, 'There was an error processing your request. Please contact us directly at info@ukdataservices.co.uk');
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user