Merge pull request #13856 from annando/spam2
Compare lengths of hashtags with the content length for improved spam detection
This commit is contained in:
commit
9e738253e7
2 changed files with 10 additions and 5 deletions
|
@ -113,13 +113,18 @@ class Relay
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($tagList) || !empty($denyTags)) {
|
if (!empty($tagList) || !empty($denyTags)) {
|
||||||
|
$content = mb_strtolower(BBCode::toPlaintext($body, false));
|
||||||
|
|
||||||
$max_tags = $config->get('system', 'relay_max_tags');
|
$max_tags = $config->get('system', 'relay_max_tags');
|
||||||
if ($max_tags && (count($tags) > $max_tags) && preg_match('/[^@!#]\[url\=.*?\].*?\[\/url\]/ism', $body)) {
|
if ($max_tags && (count($tags) > $max_tags) && preg_match('/[^@!#]\[url\=.*?\].*?\[\/url\]/ism', $body)) {
|
||||||
Logger::info('Possible hashtag spam detected - rejected', ['hashtags' => $tags, 'network' => $network, 'url' => $url, 'causer' => $causer, 'body' => $body]);
|
$cleaned = preg_replace('/[@!#]\[url\=.*?\].*?\[\/url\]/ism', '', $body);
|
||||||
return false;
|
$content_cleaned = mb_strtolower(BBCode::toPlaintext($cleaned, false));
|
||||||
}
|
|
||||||
|
|
||||||
$content = mb_strtolower(BBCode::toPlaintext($body, false));
|
if (strlen($content_cleaned) < strlen($content) / 2) {
|
||||||
|
Logger::info('Possible hashtag spam detected - rejected', ['hashtags' => $tags, 'network' => $network, 'url' => $url, 'causer' => $causer, 'body' => $body]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($tags as $tag) {
|
foreach ($tags as $tag) {
|
||||||
$tag = mb_strtolower($tag);
|
$tag = mb_strtolower($tag);
|
||||||
|
|
|
@ -239,7 +239,7 @@ return [
|
||||||
|
|
||||||
// relay_max_tags (Integer)
|
// relay_max_tags (Integer)
|
||||||
// Maximum amount of tags in a post before it is rejected as spam.
|
// Maximum amount of tags in a post before it is rejected as spam.
|
||||||
'relay_max_tags' => 10,
|
'relay_max_tags' => 20,
|
||||||
|
|
||||||
// proxify_content (Boolean)
|
// proxify_content (Boolean)
|
||||||
// Use the proxy functionality for fetching external content
|
// Use the proxy functionality for fetching external content
|
||||||
|
|
Loading…
Reference in a new issue