* 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

@@ -23,6 +23,8 @@
#include "thread.h"
#include "compress.h"
#include "acceptencodingparser.h"
#include "htmlfilter.h"
struct Request
@@ -118,7 +120,7 @@ struct Request
bool IsPostVar(const char * var);
std::string * PostVar(const char * var); // it can return null when there is no such a post variable
bool PostVar(const char * var, std::string & result);
bool AllPostVarEmpty(); // returning true if all post vars are empty
void ReadEnvVariables();
void CheckMethod();
@@ -150,18 +152,23 @@ private:
void SendSessionCookie();
void CheckIE();
void SendHeaders(bool compressing);
void AddDebugInfo();
void SendPage(bool compressing);
// used to set some env_* variables into it, when the server didn't set that variable
// it contains '\0'
const char char_empty;
const char * SetEnvVar(const char * var);
void StandardLog();
Compress compress;
AcceptEncodingParser accept_encoding_parser;
HTMLFilter html_filter;
// html after filtering
std::string clean_html;
};