node.js — nodejs — блокирование попыток эксплойта php-скрипта

У меня много запросов на файлы эксплойтов php, и я хотел бы их обработать.

GET //phpMyAdmin/scripts/setup.php 200 42.452 ms - 3703
GET //phpmyadmin/scripts/setup.php 200 43.431 ms - 3703
GET //pma/scripts/setup.php 200 47.159 ms - 3703
GET //myadmin/scripts/setup.php 200 44.524 ms - 3703
GET //MyAdmin/scripts/setup.php 200 63.237 ms - 3703
GET //scripts/setup.php 200 75.063 ms - 3703
GET //admin/scripts/setup.php 200 43.158 ms - 3703
GET //db/scripts/setup.php 200 55.091 ms - 3703
GET //myadmin/scripts/setup.php 200 39.229 ms - 3703
GET //mysql/scripts/setup.php 200 38.401 ms - 3703
GET //mysqladmin/scripts/setup.php 200 41.768 ms - 3703
GET //phpadmin/scripts/setup.php 200 46.766 ms - 3703
GET //pma/scripts/setup.php 200 40.464 ms - 3703
GET //web/scripts/setup.php 200 42.858 ms - 3703
GET //blog/phpmyadmin/scripts/setup.php 200 45.144 ms - 3703

Поэтому я хотел бы закрыть соединение по таким запросам, чтобы запрашивающая сторона думала, что сервер не существует, и не будет пытаться снова:

  app.use(function(req, res, next){
if(req.originalUrl.indexOf('.php') !== -1) res.set("Connection", "close");
else next();
})

Это лучший способ справиться с этим?

4

Решение

Лучше вернуть 404. Скорее всего, бот не будет продолжать пытаться.

app.use(function(req, res, next){
if(req.originalUrl.indexOf('.php') !== -1) {
res.status(404).send('Not found');
}
else {
next();
}
})

Если вы видите, что одни и те же IP-адреса бьют вас снова и снова и предполагается, что вы работаете на компьютере с Linux, вы можете вручную добавить IP-адреса в /etc/hosts.deny, чтобы заблокировать их до того, как они достигнут вашего сервера узлов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector