function drupal_is_denied in Drupal 7
Same name and namespace in other branches
- 4 includes/bootstrap.inc \drupal_is_denied()
- 5 includes/bootstrap.inc \drupal_is_denied()
- 6 includes/bootstrap.inc \drupal_is_denied()
Checks to see if an IP address has been blocked.
Blocked IP addresses are stored in the database by default. However for performance reasons we allow an override in settings.php. This allows us to avoid querying the database at this critical stage of the bootstrap if an administrative interface for IP address blocking is not required.
Parameters
$ip: IP address to check.
Return value
bool TRUE if access is denied, FALSE if access is allowed.
1 call to drupal_is_denied()
- drupal_block_denied in includes/
bootstrap.inc - Handles denied users.
File
- includes/
bootstrap.inc, line 2190 - Functions that need to be loaded on every Drupal request.
Code
function drupal_is_denied($ip) {
// Because this function is called on every page request, we first check
// for an array of IP addresses in settings.php before querying the
// database.
$blocked_ips = variable_get('blocked_ips');
$denied = FALSE;
if (isset($blocked_ips) && is_array($blocked_ips)) {
$denied = in_array($ip, $blocked_ips);
}
elseif (class_exists('Database', FALSE)) {
$denied = (bool) db_query("SELECT 1 FROM {blocked_ips} WHERE ip = :ip", array(
':ip' => $ip,
))
->fetchField();
}
return $denied;
}