From 0a31af3ed2d12e40ec62b907bc24f33c11b0ab1e Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 10 May 2008 07:32:02 +0000 Subject: - Patch #256152 by catch: added additional tests for the IP address blocking and added a small usability improvement. --- modules/system/system.admin.inc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'modules/system/system.admin.inc') diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc index 7ebac6c37..87ef36dd9 100644 --- a/modules/system/system.admin.inc +++ b/modules/system/system.admin.inc @@ -1137,17 +1137,20 @@ function system_ip_blocking_form($form_state) { } function system_ip_blocking_form_validate($form, &$form_state) { - $ip = $form_state['values']['ip']; + $ip = trim($form_state['values']['ip']); if (db_result(db_query("SELECT * FROM {blocked_ips} WHERE ip = '%s'", $ip))) { form_set_error('ip', t('This IP address is already blocked.')); } + else if ($ip == ip_address()) { + form_set_error('ip', t('You may not block your own IP address.')); + } else if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE) == FALSE) { form_set_error('ip', t('Please enter a valid IP address.')); } } function system_ip_blocking_form_submit($form, &$form_state) { - $ip = $form_state['values']['ip']; + $ip = trim($form_state['values']['ip']); db_query("INSERT INTO {blocked_ips} (ip) VALUES ('%s')", $ip); drupal_set_message(t('The IP address %ip has been blocked.', array('%ip' => $ip))); $form_state['redirect'] = 'admin/settings/ip-blocking'; @@ -2260,4 +2263,4 @@ function theme_system_themes_form($form) { $output = theme('table', $header, $rows); $output .= drupal_render($form); return $output; -} +} \ No newline at end of file -- cgit v1.2.3