Как предотвратить инъекции SQL при использовании Morphia с Java Java? - PullRequest
0 голосов
/ 06 декабря 2018

Я использую MongoDB с Morphia Object Document Mapper в Java EE.

@Override
public void removeTrustedDevice(String username, String cookieValue) {
    MongoConnection conn = MongoConnection.getInstance();
    TrustedDeviceDao dao = new TrustedDeviceDao(conn.getDatastore());
    Query<TrustedDevice> query = dao.createQuery();
    query.and(
            query.criteria("username").equal(username),
            query.criteria("cookieValue").equal(cookieValue)
    );

    List<TrustedDevice> deviceList = query.asList();

    if (deviceList != null && !deviceList.isEmpty()) {
        dao.delete(deviceList.get(0));
    }
}

Есть ли вероятность, что SQL-инъекций не будет?Если да, то, пожалуйста, дайте мне предложение или пример для профилактики.

1 Ответ

0 голосов
/ 06 декабря 2018

Я не скажу, что шансы на такую ​​атаку 0 , потому что хакеры умные, решительные типы, но я скажу, что вам не нужно слишком беспокоиться об этом, и что во всех моихЗа годы работы с MongoDB и для него я никогда не слышал о такой атаке.

Атаки SQL-инъекции работают, частично, за счет того, что SQL-запросы анализируются и оцениваются на стороне сервера.Монго запросы поступают на сервер уже в формате Document.Запросы MongoDB не поддерживают комментарии так же, как SQL, и поэтому вектор атаки недоступен.Поскольку запросы уже имеют четко определенный, структурированный формат и не анализируются на сервере, выполнить подобную атаку намного сложнее.

...