Если вы работаете на одном сервере, то вам обязательно нужно включить ведение журнала.На 2.0 это значение по умолчанию для 64-битных сборок;в 32-разрядных сборках или более старых выпусках (серия 1.8.x) вы можете включить его с помощью параметра --journal
флаг командной строки или файла конфигурации.Имейте в виду, что использование журналирования приведет к тому, что MongoDB будет использовать вдвое больше памяти, чем обычно, что в большинстве случаев является проблемой на 32-битных машинах (поскольку память там обычно ограничена до 2 ГБ, при ведении журнала она будет фактически уменьшена вдвое).
Аутентификация может помочь, но лучшими мерами безопасности является обеспечение того, чтобы только компьютеры, которыми вы управляете, могли общаться с MongoDB.Вы можете сделать это с помощью параметра командной строки --bind_ip
или параметра файла конфигурации.В качестве дополнительной меры вы также должны установить брандмауэр (iptables или аналогичный).
Что касается атак с использованием инъекций, то в большинстве случаев вы должны быть в безопасности, если вы не будете слепо преобразовывать JSON (или подобные структуры) вPHP связывает и передает их напрямую в методы MongoDB.Если вы создаете ассоциацию самостоятельно, обработав значения $POST
или $GET
, вы должны быть в безопасности.