* 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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user