Jump to content

手册:$wgAntivirusSetup

From mediawiki.org
This page is a translated version of the page Manual:$wgAntivirusSetup and the translation is 19% complete.
防病毒: $wgAntivirusSetup
不同病毒扫描程序的配置。
引进版本:1.5.0
移除版本:仍在使用
允许的值:未指定
默认值:(参见下方)

细节

Configuration for different virus scanners. This is an associative array of associative arrays: it contains one setup array per known scanner type. The entry is selected by $wgAntivirus , i.e. valid values for $wgAntivirus are the keys defined in this array. The antivirus functions may not work on Windows in MediaWiki versions before 1.16.0.

The configuration array for each scanner contains the following keys:

command
The full command to call the virus scanner - %f will be replaced with the name of the file to scan. If not present, the filename will be appended to the command.
Note that this must be overwritten if the scanner is not in the system path; in that case, you should set $wgAntivirusSetup[$wgAntivirus ]['command'] to the desired command with full path. (This line should appear after the line that sets $wgAntivirus.)
codemap
A mapping of exit code to return codes of the detectVirus() function in "SpecialUpload.php".
  • An exit code mapped to AV_SCAN_FAILED causes the function to consider the scan to be failed. This will pass the file if $wgAntivirusRequired is not set.
  • An exit code mapped to AV_SCAN_ABORTED causes the function to consider the file to have an unsupported format, which is probably immune to viruses. This causes the file to pass.
  • An exit code mapped to AV_NO_VIRUS will cause the file to pass, meaning no virus was found.
  • All other codes (like AV_VIRUS_FOUND) will cause the function to report a virus.
You may use "*" as a key in the array to catch all exit codes not mapped otherwise.
messagepattern
A Perl regular expression to extract the meaningful part of the scanner's output. The relevant part should be matched as group one (\1).
If not defined or the pattern does not match, the full message is shown to the user.

默认值

MediaWiki版本:
1.20
$wgAntivirusSetup = [

	# setup for clamav
	'clamav' => [
		'command' => 'clamscan --no-summary ',
		'codemap' => [
			"0" => AV_NO_VIRUS, # no virus
			"1" => AV_VIRUS_FOUND, # virus found
			"52" => AV_SCAN_ABORTED, # unsupported file format (probably immune)
			"*" => AV_SCAN_FAILED, # else scan failed
		],
		'messagepattern' => '/.*?:(.*)/sim',
	],
];
MediaWiki版本:
1.5 – 1.19
$wgAntivirusSetup = array(

	#setup for clamav
	'clamav' => array (
		'command' => "clamscan --no-summary ",

		'codemap' => array (
			"0" =>  AV_NO_VIRUS, # no virus
			"1" =>  AV_VIRUS_FOUND, # virus found
			"52" => AV_SCAN_ABORTED, # unsupported file format (probably imune)
			"*" =>  AV_SCAN_FAILED, # else scan failed
		),

		'messagepattern' => '/.*?:(.*)/sim',
	),

	#setup for f-prot
	'f-prot' => array (
		'command' => "f-prot ",

		'codemap' => array (
			"0" => AV_NO_VIRUS, # no virus
			"3" => AV_VIRUS_FOUND, # virus found
			"6" => AV_VIRUS_FOUND, # virus found
			"*" => AV_SCAN_FAILED, # else scan failed
		),

		'messagepattern' => '/.*?Infection:(.*)$/m',
	),
);

参见