clean config, support read-only non-root docker
All checks were successful
docker / docker (push) Successful in 22s
All checks were successful
docker / docker (push) Successful in 22s
Signed-off-by: ngn <ngn@ngn.tf>
This commit is contained in:
@ -73,7 +73,6 @@ class frontend{
|
||||
}
|
||||
|
||||
public function loadheader(array $get, array $filters, string $page){
|
||||
|
||||
echo
|
||||
$this->load("header.html", [
|
||||
"title" => trim(htmlspecialchars($get["s"]) . " ({$page})"),
|
||||
@ -83,60 +82,6 @@ class frontend{
|
||||
"tabs" => $this->generatehtmltabs($page, $get["s"]),
|
||||
"filters" => $this->generatehtmlfilters($filters, $get)
|
||||
]);
|
||||
|
||||
$headers_raw = getallheaders();
|
||||
$header_keys = [];
|
||||
$user_agent = "";
|
||||
$bad_header = false;
|
||||
|
||||
// block bots that present X-Forwarded-For, Via, etc
|
||||
foreach($headers_raw as $headerkey => $headervalue){
|
||||
|
||||
$headerkey = strtolower($headerkey);
|
||||
if($headerkey == "user-agent"){
|
||||
|
||||
$user_agent = $headervalue;
|
||||
continue;
|
||||
}
|
||||
|
||||
// check header key
|
||||
if(in_array($headerkey, config::FILTERED_HEADER_KEYS)){
|
||||
|
||||
$bad_header = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// SSL check
|
||||
$bad_ssl = false;
|
||||
if(
|
||||
isset($_SERVER["https"]) &&
|
||||
$_SERVER["https"] == "on" &&
|
||||
isset($_SERVER["SSL_CIPHER"]) &&
|
||||
in_array($_SERVER["SSL_CIPHER"], config::FILTERED_HEADER_KEYS)
|
||||
){
|
||||
|
||||
$bad_ssl = true;
|
||||
}
|
||||
|
||||
if(
|
||||
$bad_header === true ||
|
||||
$bad_ssl === true ||
|
||||
$user_agent == "" ||
|
||||
// user agent check
|
||||
preg_match(
|
||||
config::HEADER_REGEX,
|
||||
$user_agent
|
||||
)
|
||||
){
|
||||
|
||||
// bot detected !!
|
||||
$this->drawerror(
|
||||
"Tshh, blocked!",
|
||||
'Your browser, IP or IP range has been blocked from this 4get instance.'
|
||||
);
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
public function drawerror($title, $error, $timetaken = null){
|
||||
|
Reference in New Issue
Block a user