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