aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/blogspam.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-06-23 16:32:20 -0400
committerJoey Hess <joey@kitenet.net>2010-06-23 16:35:51 -0400
commit4292802ee5f93f7ec7644c5d0a30f7ffeb95e566 (patch)
tree603a4a6f366f411b2ef1909825d400db6ad65bc7 /IkiWiki/Plugin/blogspam.pm
parentb4a43406f61b7ff9ab77d242edf4d59369ac8596 (diff)
downloadikiwiki-4292802ee5f93f7ec7644c5d0a30f7ffeb95e566.tar
ikiwiki-4292802ee5f93f7ec7644c5d0a30f7ffeb95e566.tar.gz
stop using REMOTE_ADDR
Everywhere that REMOTE_ADDR was used, a session object is available, so instead use its remote_addr method. In IkiWiki::Receive, stop setting a dummy REMOTE_ADDR. Note that it's possible for a session cookie to be obtained using one IP address, and then used from another IP. In this case, the first IP will now be used. I think that should be ok.
Diffstat (limited to 'IkiWiki/Plugin/blogspam.pm')
-rw-r--r--IkiWiki/Plugin/blogspam.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/blogspam.pm b/IkiWiki/Plugin/blogspam.pm
index c4e5cf390..8db3780e8 100644
--- a/IkiWiki/Plugin/blogspam.pm
+++ b/IkiWiki/Plugin/blogspam.pm
@@ -58,6 +58,7 @@ sub checkconfig () {
sub checkcontent (@) {
my %params=@_;
+ my $session=$params{session};
if (exists $config{blogspam_pagespec}) {
return undef
@@ -88,7 +89,7 @@ sub checkcontent (@) {
push @options, "exclude=stopwords";
my %req=(
- ip => $ENV{REMOTE_ADDR},
+ ip => $session->remote_addr(),
comment => defined $params{diff} ? $params{diff} : $params{content},
subject => defined $params{subject} ? $params{subject} : "",
name => defined $params{author} ? $params{author} : "",