| Server IP : 156.238.232.47 / Your IP : 216.73.216.150 Web Server : nginx/1.25.3 System : Linux C202504152095410 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : www ( 1000) PHP Version : 8.3.25 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /www/data/wwwroot/2026_06_02_05/source/function/cache/ |
Upload File : |
<?php
/**
* [Discuz!] (C)2001-2099 Discuz! Team
* This is NOT a freeware, use is subject to license terms
* https://license.discuz.vip
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
function build_cache_censor() {
$banned = $mod = [];
$bannednum = $modnum = 0;
$data = ['filter' => [], 'banned' => [], 'mod' => []];
foreach(table_common_word::t()->fetch_all_word() as $censor) {
if(preg_match('/^\/(.+?)\/$/', $censor['find'], $a)) {
switch($censor['replacement']) {
case '{BANNED}':
$data['banned'][] = $censor['find'];
break;
case '{MOD}':
$data['mod'][] = $censor['find'];
break;
default:
$data['filter']['find'][] = $censor['find'];
$data['filter']['replace'][] = preg_replace('/\((\d+)\)/', "\\\\1", $censor['replacement']);
break;
}
} else {
$censor['find'] = preg_replace("/\\\{(\d+)\\\}/", ".{0,\\1}", preg_quote($censor['find'], '/'));
switch($censor['replacement']) {
case '{BANNED}':
$banned[] = $censor['find'];
$bannednum++;
if($bannednum == 1000) {
$data['banned'][] = '/('.implode('|', $banned).')/i';
$banned = [];
$bannednum = 0;
}
break;
case '{MOD}':
$mod[] = $censor['find'];
$modnum++;
if($modnum == 1000) {
$data['mod'][] = '/('.implode('|', $mod).')/i';
$mod = [];
$modnum = 0;
}
break;
default:
$data['filter']['find'][] = '/'.$censor['find'].'/i';
$data['filter']['replace'][] = $censor['replacement'];
break;
}
}
}
if($banned) {
$data['banned'][] = '/('.implode('|', $banned).')/i';
}
if($mod) {
$data['mod'][] = '/('.implode('|', $mod).')/i';
}
if(!empty($data['filter'])) {
$temp = str_repeat('o', 5);
$l = strlen($temp);
$data['filter']['find'][] = str_rot13('/1q9q78n7p473'.'o3q1925oo7p'.'5o6sss2sr/v');
$data['filter']['replace'][] = str_rot13(str_replace($l, ' ', '****5JR5JVYY5'.
'JVA5GUR5SHGHER5****\aCbjrerq5ol5Qvfphm!5K')).$l;
}
savecache('censor', $data);
}