* 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:
@@ -5,10 +5,11 @@ dir.o: ../core/requesttypes.h ../core/session.h ../core/done.h ../core/item.h
|
||||
dir.o: ../core/error.h ../core/log.h ../core/user.h ../core/rebus.h
|
||||
dir.o: ../core/function.h ../core/thread.h ../core/compress.h
|
||||
dir.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
dir.o: ../core/data.h ../core/dirs.h ../core/dircontainer.h ../core/users.h
|
||||
dir.o: ../core/ugcontainer.h ../core/groups.h ../core/group.h
|
||||
dir.o: ../core/functions.h ../core/lastcontainer.h ../core/mounts.h
|
||||
dir.o: ../core/mount.h ../core/db.h ../core/log.h ../core/misc.h
|
||||
dir.o: ../core/htmlfilter.h ../core/data.h ../core/dirs.h
|
||||
dir.o: ../core/dircontainer.h ../core/users.h ../core/ugcontainer.h
|
||||
dir.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
dir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h ../core/db.h
|
||||
dir.o: ../core/log.h ../core/misc.h
|
||||
doc.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
doc.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
doc.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
@@ -17,13 +18,13 @@ doc.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
doc.o: ../core/rebus.h ../core/request.h ../core/requesttypes.h
|
||||
doc.o: ../core/session.h ../core/done.h ../core/error.h ../core/thread.h
|
||||
doc.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
doc.o: ../core/acceptbaseparser.h ../core/misc.h
|
||||
doc.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
done.o: templates.h patterncacher.h ../core/item.h ../core/request.h
|
||||
done.o: ../core/requesttypes.h ../core/session.h ../core/done.h
|
||||
done.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
|
||||
done.o: ../core/rebus.h ../core/function.h ../core/thread.h
|
||||
done.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
done.o: ../core/acceptbaseparser.h ../core/misc.h
|
||||
done.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
item.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
item.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
item.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
@@ -32,7 +33,7 @@ item.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
item.o: ../core/rebus.h ../core/request.h ../core/requesttypes.h
|
||||
item.o: ../core/session.h ../core/done.h ../core/error.h ../core/thread.h
|
||||
item.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
item.o: ../core/acceptbaseparser.h ../core/misc.h
|
||||
item.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
last.o: templates.h patterncacher.h ../core/item.h ../core/lastcontainer.h
|
||||
last.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
last.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
@@ -42,7 +43,7 @@ last.o: ../core/mount.h ../core/rebus.h ../core/request.h
|
||||
last.o: ../core/requesttypes.h ../core/session.h ../core/done.h
|
||||
last.o: ../core/error.h ../core/thread.h ../core/compress.h
|
||||
last.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
last.o: ../core/misc.h
|
||||
last.o: ../core/htmlfilter.h ../core/misc.h
|
||||
mount.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
mount.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
mount.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
@@ -63,16 +64,16 @@ priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
priv.o: ../core/rebus.h ../core/request.h ../core/requesttypes.h
|
||||
priv.o: ../core/session.h ../core/done.h ../core/error.h ../core/thread.h
|
||||
priv.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
priv.o: ../core/acceptbaseparser.h ../core/misc.h
|
||||
priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
rebus.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
rebus.o: ../core/done.h ../core/item.h ../core/error.h ../core/log.h
|
||||
rebus.o: ../core/user.h ../core/rebus.h ../core/function.h ../core/thread.h
|
||||
rebus.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
rebus.o: ../core/acceptbaseparser.h ../core/data.h ../core/dirs.h
|
||||
rebus.o: ../core/dircontainer.h ../core/users.h ../core/ugcontainer.h
|
||||
rebus.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
rebus.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h templates.h
|
||||
rebus.o: patterncacher.h ../core/item.h
|
||||
rebus.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/data.h
|
||||
rebus.o: ../core/dirs.h ../core/dircontainer.h ../core/users.h
|
||||
rebus.o: ../core/ugcontainer.h ../core/groups.h ../core/group.h
|
||||
rebus.o: ../core/functions.h ../core/lastcontainer.h ../core/mounts.h
|
||||
rebus.o: ../core/mount.h templates.h patterncacher.h ../core/item.h
|
||||
sys.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
sys.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
sys.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
@@ -81,7 +82,7 @@ sys.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
sys.o: ../core/rebus.h ../core/request.h ../core/requesttypes.h
|
||||
sys.o: ../core/session.h ../core/done.h ../core/error.h ../core/thread.h
|
||||
sys.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
sys.o: ../core/acceptbaseparser.h ../core/misc.h
|
||||
sys.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
templates.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
templates.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
templates.o: ../core/users.h ../core/user.h ../core/ugcontainer.h
|
||||
@@ -91,8 +92,9 @@ templates.o: ../core/mounts.h ../core/mount.h ../core/rebus.h
|
||||
templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
templates.o: ../core/done.h ../core/error.h ../core/thread.h
|
||||
templates.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
templates.o: ../core/acceptbaseparser.h ../core/misc.h ../core/plugin.h
|
||||
templates.o: ../core/request.h ../core/data.h ../core/pluginmsg.h
|
||||
templates.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
templates.o: ../core/plugin.h ../core/request.h ../core/data.h
|
||||
templates.o: ../core/pluginmsg.h
|
||||
thread.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
thread.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
thread.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
@@ -102,7 +104,7 @@ thread.o: ../core/mount.h ../core/rebus.h ../core/request.h
|
||||
thread.o: ../core/requesttypes.h ../core/session.h ../core/done.h
|
||||
thread.o: ../core/error.h ../core/thread.h ../core/compress.h
|
||||
thread.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
thread.o: ../core/misc.h
|
||||
thread.o: ../core/htmlfilter.h ../core/misc.h
|
||||
user.o: templates.h patterncacher.h ../core/item.h ../core/data.h
|
||||
user.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
user.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
@@ -111,7 +113,7 @@ user.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
user.o: ../core/rebus.h ../core/request.h ../core/requesttypes.h
|
||||
user.o: ../core/session.h ../core/done.h ../core/error.h ../core/thread.h
|
||||
user.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
user.o: ../core/acceptbaseparser.h ../core/misc.h
|
||||
user.o: ../core/acceptbaseparser.h ../core/htmlfilter.h ../core/misc.h
|
||||
who.o: templates.h patterncacher.h ../core/item.h ../core/sessioncontainer.h
|
||||
who.o: ../core/session.h ../core/done.h ../core/item.h ../core/error.h
|
||||
who.o: ../core/log.h ../core/user.h ../core/rebus.h
|
||||
@@ -124,4 +126,4 @@ who.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
who.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
who.o: ../core/mount.h ../core/request.h ../core/thread.h ../core/compress.h
|
||||
who.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
who.o: ../core/misc.h
|
||||
who.o: ../core/htmlfilter.h ../core/misc.h
|
||||
|
||||
@@ -71,13 +71,13 @@ void doc_current_url(Info & i)
|
||||
|
||||
|
||||
|
||||
void doc_status_error(Info & i)
|
||||
void doc_is_error(Info & i)
|
||||
{
|
||||
i.result = request.status != Error::ok;
|
||||
}
|
||||
|
||||
|
||||
void doc_status_code(Info & i)
|
||||
void doc_status(Info & i)
|
||||
{
|
||||
i.out << static_cast<int>( request.status );
|
||||
}
|
||||
|
||||
@@ -18,9 +18,9 @@ namespace TemplatesFunctions
|
||||
|
||||
|
||||
|
||||
void done_errors(Info & i)
|
||||
void done_is_error(Info & i)
|
||||
{
|
||||
i.result = request.session->done_status != Error::ok;
|
||||
i.result = request.session->done_status != Error::ok;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,15 @@ void done_status_incorrect_dir(Info & i)
|
||||
i.result = request.session->done_status == Error::incorrect_dir;
|
||||
}
|
||||
|
||||
void done_status_incorrect_rebus(Info & i)
|
||||
{
|
||||
i.result = request.session->done_status == Error::incorrect_rebus;
|
||||
}
|
||||
|
||||
void done_status_spam(Info & i)
|
||||
{
|
||||
i.result = request.session->done_status == Error::spam;
|
||||
}
|
||||
|
||||
void done_added_item(Info & i)
|
||||
{
|
||||
|
||||
@@ -27,6 +27,7 @@ void rebus_init()
|
||||
if( rebus_reqid != request.id )
|
||||
{
|
||||
request.session->rebus_item = data.rebus.Rand();
|
||||
request.session->rebus_checked = false;
|
||||
rebus_reqid = request.id;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +136,8 @@ Ezc::Pattern * p = 0;
|
||||
switch( request.status )
|
||||
{
|
||||
case Error::ok:
|
||||
case Error::rebus_bad_answer:
|
||||
case Error::spam:
|
||||
case Error::incorrect_rebus:
|
||||
p = content_for_function();
|
||||
break;
|
||||
|
||||
@@ -206,10 +207,9 @@ void Templates::CreateFunctions()
|
||||
functions.Insert("doc_charset", doc_charset);
|
||||
functions.Insert("doc_base_url", doc_base_url);
|
||||
functions.Insert("doc_current_url", doc_current_url);
|
||||
functions.Insert("doc_status_error", doc_status_error);
|
||||
functions.Insert("doc_status_code", doc_status_code);
|
||||
|
||||
|
||||
functions.Insert("doc_is_error", doc_is_error);
|
||||
functions.Insert("doc_status", doc_status);
|
||||
|
||||
/*
|
||||
item
|
||||
*/
|
||||
@@ -317,19 +317,21 @@ void Templates::CreateFunctions()
|
||||
/*
|
||||
done
|
||||
*/
|
||||
functions.Insert("done_errors", done_errors);
|
||||
functions.Insert("done_status", done_status);
|
||||
functions.Insert("done_status_no_item", done_status_no_item);
|
||||
functions.Insert("done_status_incorrect_dir", done_status_incorrect_dir);
|
||||
functions.Insert("done_added_item", done_added_item);
|
||||
functions.Insert("done_edited_item", done_edited_item);
|
||||
functions.Insert("done_deleted_item", done_deleted_item);
|
||||
functions.Insert("done_privileged_item", done_privileged_item);
|
||||
functions.Insert("done_loggedout", done_loggedout);
|
||||
functions.Insert("done_added_dir", done_added_dir);
|
||||
functions.Insert("done_deleted_dir", done_deleted_dir);
|
||||
functions.Insert("done_defaulted_dir", done_defaulted_dir);
|
||||
functions.Insert("done_reloaded_templates", done_reloaded_templates);
|
||||
functions.Insert("done_is_error", done_is_error);
|
||||
functions.Insert("done_status", done_status);
|
||||
functions.Insert("done_status_no_item", done_status_no_item);
|
||||
functions.Insert("done_status_incorrect_dir", done_status_incorrect_dir);
|
||||
functions.Insert("done_status_incorrect_rebus", done_status_incorrect_rebus);
|
||||
functions.Insert("done_status_spam", done_status_spam);
|
||||
functions.Insert("done_added_item", done_added_item);
|
||||
functions.Insert("done_edited_item", done_edited_item);
|
||||
functions.Insert("done_deleted_item", done_deleted_item);
|
||||
functions.Insert("done_privileged_item", done_privileged_item);
|
||||
functions.Insert("done_loggedout", done_loggedout);
|
||||
functions.Insert("done_added_dir", done_added_dir);
|
||||
functions.Insert("done_deleted_dir", done_deleted_dir);
|
||||
functions.Insert("done_defaulted_dir", done_defaulted_dir);
|
||||
functions.Insert("done_reloaded_templates", done_reloaded_templates);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -46,8 +46,8 @@ namespace TemplatesFunctions
|
||||
void doc_charset(Info & i);
|
||||
void doc_base_url(Info & i);
|
||||
void doc_current_url(Info & i);
|
||||
void doc_status_error(Info & i);
|
||||
void doc_status_code(Info & i);
|
||||
void doc_is_error(Info & i);
|
||||
void doc_status(Info & i);
|
||||
|
||||
|
||||
/*
|
||||
@@ -158,10 +158,12 @@ namespace TemplatesFunctions
|
||||
/*
|
||||
done
|
||||
*/
|
||||
void done_errors(Info & i);
|
||||
void done_is_error(Info & i);
|
||||
void done_status(Info & i);
|
||||
void done_status_no_item(Info & i);
|
||||
void done_status_incorrect_dir(Info & i);
|
||||
void done_status_incorrect_rebus(Info & i);
|
||||
void done_status_spam(Info & i);
|
||||
|
||||
void done_added_item(Info & i);
|
||||
void done_edited_item(Info & i);
|
||||
|
||||
Reference in New Issue
Block a user