CGI block

Temp resolve of https://git.fullgream.tech/fullgream/net-helper/issues/4
This commit is contained in:
fullgream 2025-02-06 18:29:57 +03:00
parent 426f7881e5
commit 7e0d2741d9

49
modules/cgiban.js Normal file
View File

@ -0,0 +1,49 @@
const express = require("express");
const { NetHelperModule } = global.moduleApi;
const HTTPServer = require("../components/_http");
module.exports = class CgiBanPage extends NetHelperModule {
constructor() {
super();
this.router = express.Router();
this.cgiban = new this.statics.Operator(
"cgiban",
(argv) => {
return argv.length === 0;
},
(argv, self, syntaxTree) => {
console.log(
"asdsadsadsadas cgiban",
syntaxTree.Type,
syntaxTree.Type.prototype instanceof HTTPServer,
);
if (!(syntaxTree.Type.prototype instanceof HTTPServer)) {
throw new SyntaxError("Unsupported type of server");
}
const router = this.router;
router.use("/cgi-bin/*", (req, res, next) => {
res
.status(400)
.send(
"<h1>CGI Scripts denied</h1><hr/><p>Perl is the language of dinosaurs and faggots, shove your query up your ass, piece of shit</p>",
);
});
router.use("*", (req, res, n) => n());
},
);
this.operators.push(this.cgiban);
this.emit("runned", () => {
this.serverType.app.use(router);
});
}
bind(type) {
super.bind(type);
this.serverType.routelist.push(this.router);
}
};