Merge pull request #165 from dedushka1/log-ip-privacy

Hide IPs in Moderation Logs
This commit is contained in:
nonmakina 2021-01-17 13:32:07 -06:00 committed by GitHub
commit 640f901099
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 629 additions and 591 deletions

6
.gitignore vendored
View File

@ -61,9 +61,9 @@ tf/
[._]s[a-w][a-z]
# special boards
all/
mod/
random/
/all/
/mod/
/random/
# Banners
banners/*

File diff suppressed because it is too large Load Diff

32
tests/ProtectIPTest.php Normal file
View File

@ -0,0 +1,32 @@
<?php
use PHPUnit\Framework\TestCase;
ob_start();
define('TINYBOARD', true);
require_once "inc/mod/pages.php";
ob_end_clean();
// This is probably best done with property testing library, but let's
// wait add another dependency
final class ProtectIPTest extends TestCase
{
public function testProtectsIpv4Address(){
$expected = 'Some ban message: xxxx';
// Random IP, hope it's not yours
$input = 'Some ban message: <a href="?/IP/33.57.252.246">33.57.252.246</a>';
$output = protect_ip($input);
$this->assertEquals($output, $expected);
}
public function testProtectsIpv6Address(){
$expected = 'Some ban message: xxxx';
// Random IP, hope it's not yours
$input = 'Some ban message: <a href="?/IP/5e85:f252:9baf:2131:8984:6ab2:3db0:fa48">5e85:f252:9baf:2131:8984:6ab2:3db0:fa48</a>';
$output = protect_ip($input);
$this->assertEquals($output, $expected);
}
}