diff options
Diffstat (limited to 'extensions/FunnyDot.php')
-rw-r--r-- | extensions/FunnyDot.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/extensions/FunnyDot.php b/extensions/FunnyDot.php new file mode 100644 index 00000000..81636bb4 --- /dev/null +++ b/extensions/FunnyDot.php @@ -0,0 +1,43 @@ +<?php + +if ( defined( 'MEDIAWIKI' ) ) { + +global $wgHooks; +$wgHooks['ArticleSave'][] = 'checkAntiSpamHash'; + + +function checkAntiSpamHash() + { + global $wgAntiSpamHash, $wgAntiSpamTimeout, $wgAntiSpamWait; + + $now = time(); + + if (!empty($_COOKIE['AntiSpamTime']) && !empty($_COOKIE['AntiSpamHash'])) + { + $time = intval($_COOKIE['AntiSpamTime']); + $hash = $_COOKIE['AntiSpamHash']; + + if ($hash != sha1($time.$wgAntiSpamHash)) + { + return false; + } + + if ($now - $time > $wgAntiSpamTimeout) + { + return false; + } + elseif ($now - $time < $wgAntiSpamWait) + { + return false; + } + } + else + { + return false; + } + + return true; + } + +} # End invocation guard +?>
\ No newline at end of file |