Diferència entre revisions de la pàgina «Spam octubre 2020»
Salta a la navegació
Salta a la cerca
| (Hi ha una revisió intermèdia del mateix usuari que no es mostren) | |||
| Línia 3: | Línia 3: | ||
=Solució= | =Solució= | ||
(TBD) | (TBD) | ||
| + | |||
| + | *https://webmasters.stackexchange.com/questions/9194/mass-deletion-of-spam-revisions-in-mediawiki | ||
| + | *https://www.mediawiki.org/wiki/Manual:Combating_spam | ||
| + | *https://www.mediawiki.org/wiki/Manual:Combating_vandalism | ||
| + | *https://www.mediawiki.org/wiki/Extension:ConfirmEdit | ||
| + | |||
=Prevenció per tal de què no passi= | =Prevenció per tal de què no passi= | ||
| + | ==Deshabilitar edicions anònimes i creació d'usuaris== | ||
| + | Això sí que és important: | ||
| + | <pre> | ||
| + | wgReadOnly = 'wiki en mode Només Lectura'; | ||
| + | # https://www.mediawiki.org/wiki/Manual:Preventing_access/es#Restrict_anonymous_ | ||
| + | # Prevent new user registrations by anyone | ||
| + | $wgGroupPermissions['*']['createaccount'] = false; | ||
| + | $wgGroupPermissions['sysop']['createaccount'] = false; | ||
| + | |||
| + | $wgGroupPermissions['*']['edit'] = false; | ||
| + | $wgGroupPermissions['sysop']['edit'] = true; | ||
| + | </pre> | ||
| + | Això és important per que si no qualsevol persona pot fer una edició (només queda constància la IP), i en el cas dels bots ni això. | ||
==script editar.php i noeditar.php== | ==script editar.php i noeditar.php== | ||
En el ''LocalSettings.php'' he posat les següents directives al final de tot: | En el ''LocalSettings.php'' he posat les següents directives al final de tot: | ||
| Línia 13: | Línia 32: | ||
$wgGroupPermissions['sysop']['createaccount'] = false; | $wgGroupPermissions['sysop']['createaccount'] = false; | ||
| − | + | $wgGroupPermissions['*']['edit'] = false; | |
| + | $wgGroupPermissions['sysop']['edit'] = true; | ||
</pre> | </pre> | ||
Revisió de 17:36, 18 oct 2020
Contingut
Atac spam
(TBD)
Solució
(TBD)
- https://webmasters.stackexchange.com/questions/9194/mass-deletion-of-spam-revisions-in-mediawiki
- https://www.mediawiki.org/wiki/Manual:Combating_spam
- https://www.mediawiki.org/wiki/Manual:Combating_vandalism
- https://www.mediawiki.org/wiki/Extension:ConfirmEdit
Prevenció per tal de què no passi
Deshabilitar edicions anònimes i creació d'usuaris
Això sí que és important:
wgReadOnly = 'wiki en mode Només Lectura'; # https://www.mediawiki.org/wiki/Manual:Preventing_access/es#Restrict_anonymous_ # Prevent new user registrations by anyone $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['sysop']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['sysop']['edit'] = true;
Això és important per que si no qualsevol persona pot fer una edició (només queda constància la IP), i en el cas dels bots ni això.
script editar.php i noeditar.php
En el LocalSettings.php he posat les següents directives al final de tot:
#wgReadOnly = 'wiki en mode Només Lectura'; # https://www.mediawiki.org/wiki/Manual:Preventing_access/es#Restrict_anonymous_ # Prevent new user registrations by anyone $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['sysop']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['sysop']['edit'] = true;
La línia amb la directiva wgReadOnly es tracta de comentar-la/descomentar-la amb els següents scripts php:
editar.php: També fa una consulta a la base de dades per comprovar que només hi ha un usuari i que el múmero de pàgines està per sota de les 2000.
<?php
$servername = "localhost";
$username = "root";
$password = "******";
$dbname = "wikidb117";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT count(*) as num FROM user";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "num_usuaris: " . $row["num"]."<br />";
}
} else {
echo "0 results";
}
$sql = "SELECT count(*) as num FROM page";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "num_pagines: " . $row["num"]."<br />";
}
} else {
echo "0 results";
}
$conn->close();
$file = file('LocalSettings.php');
$data = "#\$wgReadOnly = 'wiki en mode Només Lectura';";
$some_index = 138;
foreach($file as $index => $line){
if($index == $some_index){
$file[$index] = $data . "\n";
}
}
$content = implode($file);
file_put_contents('LocalSettings.php', $content);
?>
noeditar.php:
<?php
$file = file('LocalSettings.php');
$data = "\$wgReadOnly = 'wiki en mode Només Lectura';";
$some_index = 138;
foreach($file as $index => $line){
if($index == $some_index){
$file[$index] = $data . "\n";
}
}
$content = implode($file);
file_put_contents('LocalSettings.php', $content);
?>
creat per Joan Quintana Compte, octubre 2020