You are here

path2ban.install in path2ban 7

Same filename and directory in other branches
  1. 7.2 path2ban.install

Install, update and uninstall functions for the path2ban module.

File

path2ban.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the path2ban module.
 */

/**
 * This function prevents us from needing to have the same configuration 
 * repeated multiple times.
 */
function path2ban_get_default_paths_to_ban() {
  return file_get_contents(drupal_get_path('module', 'path2ban') . '/path2ban_default_entries.config');
}

/**
 * Implements hook_enable().
 */
function path2ban_enable() {
  variable_set('site_403', 'path2ban/403');
  variable_set('site_404', 'path2ban/404');
  variable_set('path2ban_list', variable_get('path2ban_list', path2ban_get_default_paths_to_ban()));
}

/**
 * Implements hook_disable().
 */
function path2ban_disable() {
  variable_del('site_403');
  variable_del('site_404');
}

/**
 * Implements hook_uninstall().
 */
function path2ban_uninstall() {
  variable_del('path2ban_list');
  variable_del('path2ban_threshold_limit');
  variable_del('path2ban_threshold_window');
  variable_del('path2ban_notify');
  variable_del('path2ban_test_mode');
}

/**
 * Implements hook_update_N
 */
function path2ban_update_7101() {

  // Add paths to prevent attacks encountered during Drupalgeddon 2.
  $list = variable_get('path2ban_list', path2ban_get_default_paths_to_ban());
  $list = $list . "\n";
  $entries_to_add = array(
    'payload.php',
    'so.php',
    'formas.php',
    'aul.php',
    'rxr.php',
    'wp-caches.php',
    'sec.php',
    'alpha.php',
    'u.php',
    'searchreplacedb2.php',
    'd7.php',
    '_.php',
    'pplugins.php',
    '*.sql',
    '*.swf',
    '*config.php',
    '*.wsf',
    '*.ssh',
  );

  // Check that the user hasn't already added them before adding.
  foreach ($entries_to_add as $each_entry_to_add) {
    if (NULL === strpos($list, $each_entry_to_add)) {
      $list .= $each_entry_to_add . "\n";
    }
  }
  variable_set('path2ban_list', $list);
}

Functions

Namesort descending Description
path2ban_disable Implements hook_disable().
path2ban_enable Implements hook_enable().
path2ban_get_default_paths_to_ban This function prevents us from needing to have the same configuration repeated multiple times.
path2ban_uninstall Implements hook_uninstall().
path2ban_update_7101 Implements hook_update_N