我有很多关于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();
})
这是处理此问题的最佳方式吗?
答案 0 :(得分:2)
最好返回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,这会在它们到达您之前阻止它们节点服务器。