Warning: session_start(): open(/var/lib/php/sessions/sess_ofimepsgsaocassrqrebv984dj, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass HTTPSpamBlocker1 {
Set blockedIPs = expiringSet(10*60.0); // 10 minutes
bool isBadRequest(S uri, S ip) {
ret pairB(checkRequest(uri, ip));
}
// pair(count, bad)
Pair checkRequest(S uri, S ip) {
bool bad = eq(uri, "/simulate-bad-client");
Pair pair = simpleSpamClientDetect2(ip, uri);
if (pair.b) {
if (eq(ip, pcall_myFirewallIP()))
print("Not blocking myself.");
else {
print("Blocking IP " + ip);
blockedIPs.add(ip);
}
}
if (blockedIPs.contains(ip)) {
bad = true;
print(t3("an HTTP request from a blocked IP", "came in at", dateWithTimeGMT()));
}
ret pair(pair.a, bad);
}
}