* added: class HTMLFilter

files: htmlfilter.h htmlfilter.cpp
         this is an html filter used to make the html output looking better
         this is a very lightweight filter
         (without using any dynamic memory - some memory is allocated only at the beginning - in ctors)
         this filter has O(n) complexity over the whole html string
* added: antyspamming method
         if the POST request is sent too fast after the GET
         it is treated as a spam
         only for no logged users and only in 'emacs' and 'createthread' functions
       


git-svn-id: svn://ttmath.org/publicrep/cmslu/trunk@534 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2009-12-09 00:42:40 +00:00
parent 9241fddb1e
commit 717eb526fb
32 changed files with 1356 additions and 198 deletions

View File

@@ -20,6 +20,9 @@ Session::Session()
last_time = time;
tm_last_time = tm_time;
// the first request can be a POST (it doesn't matter)
last_time_get = time;
}
@@ -31,10 +34,12 @@ void Session::Clear()
done = Done::none;
done_status = Error::ok;
item.Clear();
done_timer = 0;
rebus_item = 0;
done_timer = 0;
rebus_item = 0;
rebus_checked = false;
remember_me = false;
new_session = true;
spam_score = 0;
dir_old.clear();
}
@@ -53,7 +58,7 @@ bool Session::operator<(const Session & s) const
/*
bool Session::DecTimer(int & timer)
{
if( timer == 0 )
@@ -77,6 +82,29 @@ void Session::CheckTimers()
done_status = Error::ok;
}
}
*/
void Session::DecTimer(int & timer)
{
if( timer == 0 )
return;
--timer;
}
void Session::CheckTimers()
{
DecTimer(done_timer);
if( done_timer == 0 )
{
done = Done::none;
done_status = Error::ok;
}
}
void Session::IncrementTimersIfExist()
{