mirror of https://github.com/acanas/swad-core.git
Version 18.40.1
This commit is contained in:
parent
3c4dc97d5b
commit
fc137e8f1c
|
@ -386,10 +386,11 @@ En OpenSWAD:
|
|||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.40 (2019-02-13)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.40.1 (2019-02-13)"
|
||||
#define CSS_FILE "swad18.33.css"
|
||||
#define JS_FILE "swad18.32.1.js"
|
||||
/*
|
||||
Version 18.40.1: Feb 13, 2019 Code refactorization in firewall. (239201 lines)
|
||||
Version 18.40: Feb 13, 2019 New table for banned IPs to mitigate DoS attacks. (239198 lines)
|
||||
2 changes necessary in database:
|
||||
RENAME TABLE firewall TO firewall_log;
|
||||
|
|
|
@ -58,6 +58,8 @@ extern struct Globals Gbl;
|
|||
|
||||
static void FW_BanIP (void);
|
||||
|
||||
static void FW_WriteHTML (const char *Title,const char *H1);
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Log access into firewall *************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -108,15 +110,8 @@ void FW_CheckFirewallAndExitIfBanned (void)
|
|||
{
|
||||
/* Return status 403 Forbidden */
|
||||
fprintf (stdout,"Content-Type: text/html; charset=windows-1252\n"
|
||||
"Status: 403\r\n\r\n"
|
||||
"<html>"
|
||||
"<head>"
|
||||
"<title>Forbidden</title>"
|
||||
"</head>"
|
||||
"<body>"
|
||||
"<h1>You are banned temporarily</h1>"
|
||||
"</body>"
|
||||
"</html>\n");
|
||||
"Status: 403\r\n\r\n");
|
||||
FW_WriteHTML ("Forbidden","You are temporarily banned");
|
||||
|
||||
/* Close database connection and exit */
|
||||
DB_CloseDBConnection ();
|
||||
|
@ -152,16 +147,9 @@ void FW_CheckFirewallAndExitIfTooManyRequests (void)
|
|||
/* Return status 429 Too Many Requests */
|
||||
fprintf (stdout,"Content-Type: text/html; charset=windows-1252\n"
|
||||
"Retry-After: %lu\n"
|
||||
"Status: 429\r\n\r\n"
|
||||
"<html>"
|
||||
"<head>"
|
||||
"<title>Too Many Requests</title>"
|
||||
"</head>"
|
||||
"<body>"
|
||||
"<h1>Please stop that</h1>"
|
||||
"</body>"
|
||||
"</html>\n",
|
||||
"Status: 429\r\n\r\n",
|
||||
(unsigned long) Fw_TIME_BANNED);
|
||||
FW_WriteHTML ("Too Many Requests","Please stop that");
|
||||
|
||||
/* Close database connection and exit */
|
||||
DB_CloseDBConnection ();
|
||||
|
@ -183,3 +171,20 @@ static void FW_BanIP (void)
|
|||
" ('%s',NOW(),FROM_UNIXTIME(UNIX_TIMESTAMP()+%lu))",
|
||||
Gbl.IP,(unsigned long) Fw_TIME_BANNED);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************************* Ban an IP *********************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void FW_WriteHTML (const char *Title,const char *H1)
|
||||
{
|
||||
fprintf (stdout,"<html>"
|
||||
"<head>"
|
||||
"<title>%s</title>"
|
||||
"</head>"
|
||||
"<body>"
|
||||
"<h1>%s</h1>"
|
||||
"</body>"
|
||||
"</html>\n",
|
||||
Title,H1);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue