Журнал регистрации ошибок в mongodb [дубликат]

Вы можете использовать эту пользовательскую библиотеку (написанную с помощью Promise) для выполнения удаленного вызова.

function $http(apiConfig) {
    return new Promise(function (resolve, reject) {
        var client = new XMLHttpRequest();
        client.open(apiConfig.method, apiConfig.url);
        client.send();
        client.onload = function () {
            if (this.status >= 200 && this.status < 300) {
                // Performs the function "resolve" when this.status is equal to 2xx.
                // Your logic here.
                resolve(this.response);
            }
            else {
                // Performs the function "reject" when this.status is different than 2xx.
                reject(this.statusText);
            }
        };
        client.onerror = function () {
            reject(this.statusText);
        };
    });
}

Пример простого использования:

$http({
    method: 'get',
    url: 'google.com'
}).then(function(response) {
    console.log(response);
}, function(error) {
    console.log(error)
});
17
задан tugberk 30 April 2014 в 13:18
поделиться

1 ответ

Аутентификация запрещает вам выполнять действия в базе данных (как показывает ваш скриншот - вы даже не можете перечислять базы данных), это не предотвращает подключения - в конце концов, вы должны иметь возможность подключаться, чтобы иметь возможность аутентифицироваться.

Существует запрос функции для добавления тайм-аутов , но на данный момент это, по сути, означает, что сервер должен вести себя.

Стоит отметить, что до тех пор, пока вы не попытаетесь что-то сделать, это действительно не что иное, как просто подключение к порту с telnet - текст, отображаемый в начале «подключение к:» и т. д., клиент, а не сервер. Как только он пытается сделать что-либо, не прошедшее проверку подлинности, даже перечислить предупреждения сервера, возникает ошибка, потому что у него нет достаточных разрешений.

Если вы хотите заблокировать вещи из перспективы подключения, единственная опция с точки зрения MongoDB заключается в ограничении IP-адресов, которые он прослушивает (по умолчанию все), используя параметр bindIp . Использование 127.0.0.1 заблокировало бы его до локального использования, например (но вы не смогли бы подключиться с удаленного хоста), что делает проблему репликации проблемой, поэтому будьте осторожны при выборе связанного адреса.

Снаружи MongoDB, вы должны смотреть на блокировку вещей с точки зрения брандмауэра. В Linux это будет IPTables , ufw , hosts.allow / deny или что-то подобное. Брандмауэр Windows - это не моя область знаний, но я бы предположил, что вы тоже можете сделать подобное.

20
ответ дан Adam Comerford 26 August 2018 в 07:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: