Hash masked IPs option, use less_ip in inc/bans

This commit is contained in:
8chan 2014-12-03 00:15:24 -08:00
parent 8cc378eaf1
commit dd1c160d35
4 changed files with 14 additions and 10 deletions

View File

@ -218,14 +218,8 @@ class Bans {
}
unset($ban['type']);
if ($filter_ips || ($board_access !== false && !in_array($ban['board'], $board_access))) {
@list($ban['mask'], $subnet) = explode("/", $ban['mask']);
$ban['mask'] = preg_split("/[\.:]/", $ban['mask']);
$ban['mask'] = array_slice($ban['mask'], 0, 2);
$ban['mask'] = implode(".", $ban['mask']);
$ban['mask'] .= ".x.x";
if (isset ($subnet)) {
$ban['mask'] .= "/$subnet";
}
$ban['mask'] = @less_ip($ban['mask']);
$ban['masked'] = true;
}

View File

@ -753,7 +753,6 @@
// Allowed image file extensions.
$config['allowed_ext'][] = 'jpg';
$config['allowed_ext'][] = 'jpeg';
$config['allowed_ext'][] = 'bmp';
$config['allowed_ext'][] = 'gif';
$config['allowed_ext'][] = 'png';
// $config['allowed_ext'][] = 'svg';

View File

@ -2427,6 +2427,8 @@ function diceRoller($post) {
}
function less_ip($ip) {
global $config;
$ipv6 = (strstr($ip, ':') !== false);
$has_range = (strstr($ip, '/') !== false);
@ -2446,7 +2448,15 @@ function less_ip($ip) {
}
$final = inet_ntop($in_addr & $mask);
return str_replace(array(':0', '.0'), array(':x', '.x'), $final) . (isset($range) ? '/'.$range : '');
$masked = str_replace(array(':0', '.0'), array(':x', '.x'), $final);
if ($config['hash_masked_ip']) {
$masked = substr(sha1(sha1($masked) . $config['secure_trip_salt']), 0, 10);
}
$masked .= (isset($range) ? '/'.$range : '');
return $masked;
}
function less_hostmask($hostmask) {

View File

@ -192,6 +192,7 @@
);
$config['gzip_static'] = false;
$config['hash_masked_ip'] = true;
// 8chan specific mod pages
require '8chan-mod-pages.php';