* 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

@@ -62,6 +62,7 @@ void Content::PostFunEmacsAdd()
if( request.session->done_status == Error::ok )
{
log << log2 << "Content: added a new item" << logend;
request.notify_code |= CMSLU_NOTIFY_ITEM_ADD;
}
}
@@ -83,7 +84,8 @@ void Content::PostFunEmacsEdit(bool with_url)
if( request.session->done_status == Error::ok )
{
TemplatesFunctions::pattern_cacher.UpdatePattern(request.item);
log << log2 << "Content: modified an item" << logend;
request.notify_code |= CMSLU_NOTIFY_ITEM_EDIT;
}
}
@@ -142,8 +144,25 @@ bool adding = !request.is_item;
if( !CheckRebus() )
{
request.status = Error::rebus_bad_answer;
request.status = Error::spam;
SetUser(request.item);
request.session->done = (adding)? Done::added_item : Done::edited_item;
request.session->done_status = Error::incorrect_rebus;
return;
}
// !! is tested in createthread once
CheckGetPostTimes();
if( request.session->spam_score > 0 )
{
request.status = Error::spam;
SetUser(request.item);
request.session->done = (adding)? Done::added_item : Done::edited_item;
request.session->done_status = Error::spam;
log << log1 << "Content: ignoring due to suspected spamming" << logend;
return;
}