Использование идентификатора объекта Mongodb в качестве идентификатора документа?

Я пытаюсь сделать доску с mongoDB.

Я хочу присвоить идентификатор документа ObjectID.

Если пользователь может получить доступ к странице документа по адресу http://www.example.com/4easdf123123, где «4easdf123123» является идентификатором объекта mongoDB.

Существует ли какая-либо угроза безопасности. Если я использую и показываю идентификатор объекта Mongo в URL-адресе и использую его как идентификатор документа?

И любое предложение с присвоением идентификатора документа с помощью mongoDB?

Related of "Использование идентификатора объекта Mongodb в качестве идентификатора документа?"

Это не похоже на ObjectID объекта MongoDB – ObjectID составляет 12 байтов двоичных данных, а при визуализации в виде шестнадцатеричной строки (обычный способ ее использования в URL-адресе) длина 24 символов. Я предполагаю, что вы используете официальный PHP Mongo Driver , и в этом случае MongoId класса MongoId будет игнорировать недопустимые значения и создать новый для вас. В любом случае, лучше всего позволить драйверу генерировать ObjectID / MongoId для вас, так как он будет делать это таким образом, чтобы избежать конфликтов.

Что касается безопасности использования его в ваших URL-адресах, вы должны быть в порядке. Разумеется, вы должны использовать обычные меры предосторожности при реализации кода, чтобы гарантировать, что текущий пользователь имеет доступ к просмотру отображаемого объекта и т. Д., Но больше нет угрозы безопасности использования ObjectID в URL-адресе, чем любой другой идентификатор базы данных (строка , integer и т. д.), и часто их меньше, поскольку ObjectID не имеет семантического значения (тогда как строка, подобная «adminuser» в URL-адресе, может сообщить, что этот URL-адрес относится к пользователю с повышенными привилегиями).