]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mediawiki/templates/default/LocalSettings.php.erb
mediawiki: Additional anti-spam regex
[chef.git] / cookbooks / mediawiki / templates / default / LocalSettings.php.erb
index e3236159eecbf27c2afb6bb8e22c765b3ae0a513..d61e1bb3dec667dd68307ed2f42165adc3afd09c 100644 (file)
@@ -24,10 +24,10 @@ $wgUsePathInfo      = true;
 $wgScriptExtension  = ".php";
 
 ## The protocol and server name to use in fully-qualified URLs
-$wgServer           = "//<%= @mediawiki[:site] %>";
-$wgInternalServer   = 'http://<%= @mediawiki[:site] %>';
+$wgServer           = "//<%= @name %>";
+$wgInternalServer   = 'http://<%= @name %>';
 
-<% if @mediawiki[:enable_ssl] -%>
+<% if @mediawiki[:ssl_enabled] -%>
 $wgSecureLogin = true;
 $wgDefaultUserOptions['prefershttps'] = 0;
 <% end -%>
@@ -95,6 +95,9 @@ $wgFileExtensions[] = 'pdf';
 $wgFileExtensions[] = 'odt';
 $wgFileExtensions[] = 'odp';
 $wgFileExtensions[] = 'svg';
+<% @mediawiki[:extra_file_extensions].each do |mw_extra_file_extension| -%>
+       $wgFileExtensions[] = '<%= mw_extra_file_extension %>';
+<% end -%>
 
 $wgSVGConverters = array( 'rsvg' => '/usr/bin/rsvg-convert -w $width -h $height -o $output $input');
 $wgSVGConverter = 'rsvg';
@@ -161,6 +164,16 @@ $wgResourceLoaderMaxQueryLength = -1;
 #Only Allow Signed-in users to edit
 $wgGroupPermissions['*']['edit'] = false;
 
+#Only allow autoconfirmed for a few actions
+$wgGroupPermissions['user']['move'] = false;
+$wgGroupPermissions['user']['movefile'] = false;
+$wgGroupPermissions['user']['move-categorypages'] = false;
+$wgGroupPermissions['user']['upload'] = false;
+$wgGroupPermissions['autoconfirmed']['move'] = false;
+$wgGroupPermissions['autoconfirmed']['movefile'] = false;
+$wgGroupPermissions['autoconfirmed']['move-categorypages'] = false;
+$wgGroupPermissions['autoconfirmed']['upload'] = true;
+
 #Allow bureaucrat group access to oversight options
 $wgGroupPermissions['bureaucrat']['hideuser'] = true;
 $wgGroupPermissions['bureaucrat']['deletelogentry'] = true;
@@ -168,12 +181,45 @@ $wgGroupPermissions['bureaucrat']['deleterevision'] = true;
 $wgGroupPermissions['bureaucrat']['suppressrevision'] = true;
 $wgGroupPermissions['bureaucrat']['suppressionlog'] = true;
 
+<% if @mediawiki[:private_accounts] -%>
+#Prevent new user registrations except by existing users
+$wgGroupPermissions['*']['createaccount'] = false;
+$wgGroupPermissions['user']['createaccount'] = true;
+<% end -%>
+<% if @mediawiki[:private] -%>
+
+#Disable reading by anonymous users
+$wgGroupPermissions['*']['read'] = false;
+
+#Allow anonymous users to access the login page
+$wgWhitelistRead = array ("Special:Userlogin");
+
+#Prevent new user registrations except by sysops
+$wgGroupPermissions['*']['createaccount'] = false;
+
+#Restrict access to the upload directory
+$wgUploadPath = "$wgScriptPath/img_auth.php";
+<% end -%>
+
 #Allow Subpages on Main Namespace
 $wgNamespacesWithSubpages[NS_MAIN] = true;
 
 #DNS Blacklists to use
 $wgEnableDnsBlacklist = true;
-$wgDnsBlacklistUrls = array( 'proxies.dnsbl.sorbs.net.', 'opm.tornevall.org.', 'xbl.spamhaus.org.' );
+$wgDnsBlacklistUrls = array( 'proxies.dnsbl.sorbs.net.', 'opm.tornevall.org.', 'xbl.spamhaus.org.', 'dnsbl-3.uceprotect.net.' );
+
+#Require validated email to edit
+$wgEmailConfirmToEdit = true;
+
+# Extend autoblock period
+$wgAutoblockExpiry = 7776000; // 90 days
+
+# Spam filter regex
+$wgSpamRegex = '/\b(gmail|dell|asus|eps(o|0)n|br(o|0)ther|can(o|0)n|hp|k(o|0)dak|lexmark|mcafee|bitdefender|n(o|0)rt(o|0)n( 360)?|avira|kaspersky|avg|avast|micr(o|0)s(o|0)ft|(o|0)utl(o|0)(o|0)k|printer|netgear( r(o|0)uter)?|quickb(o|0)(o|0)ks( payr(o|0)ll)?)( antivirus)?( helpline| cust(o|0)mer|( technical| tech)| cust(o|0)mer service)? (supp(o|0)rt number|ph(o|0)ne number|supp(o|0)rt ph(o|0)ne number|care number|helpdesk number)\b/i';
+
+#Autopromote users to autoconfirmed
+$wgAutoConfirmAge = 345600; // 4 days
+$wgAutoConfirmCount = 10;
 
 #Disable Hit Counter for Performance
 $wgDisableCounters = TRUE;
@@ -271,7 +317,6 @@ $wgNamespacesToBeSearchedDefault[NS_LANG_JA] = TRUE;
 $wgReadOnly = "<%= @mediawiki[:site_readonly] %>";
 <% end -%>
 
-<% Dir.glob("#{@mediawiki[:directory]}/LocalSettings.d/*.php") do |file| -%>
+<% Dir.glob("#{@directory}/LocalSettings.d/*.php") do |file| -%>
 <%= "require_once('#{file}');" %>
 <% end -%>
-