Подтвердить что ты не робот

Исходный код Meteor открыт для клиентов?

Из общего взгляда на это кажется, что исходный код для приложения Meteor открыт для клиентов из-за "Записать один файл Javascript, запустить его на клиенте и сервере сразу".

Если исходный код на стороне сервера конкретного приложения открыт для сторон клиента, не было бы легко случайным образом скопировать их и создать очень похожее приложение?

Нелегко ли человеку с злой целью найти дыры в безопасности в приложении, потому что его код на стороне сервера открыт для публики?

Например, в Meteor 0.5.0 новый пример приложения сторон, файл model.js, похоже, также отправляется на клиентскую сторону.

Неужели я что-то не понимаю?

Edit

Вот часть, которую я не понимаю.

Согласно http://docs.meteor.com/#structuringyourapp,

Файлы вне подкаталогов клиента и сервера загружаются как на клиент, так и на сервер! То, что место для определения модели и другие функции

Я действительно этого не понимаю. Если каждая модельная реализация (включая взаимодействие с БД) отправляется клиенту, не будет ли приложение менее безопасным и легко скопировано другими разработчиками?

4b9b3361

Ответ 1

Любой код в папке server/ не будет отправлен клиенту (см. http://docs.meteor.com/#structuringyourapp)

ИЗМЕНИТЬ

Что касается второй части:

Любой код не в client/ или server/ - это код, который вы хотите запустить как на стороне клиента, так и на стороне сервера. Поэтому, очевидно, он должен быть отправлен клиенту.

Причина, по которой вы хотите разместить код модели, связана с компенсацией задержки. Если вы хотите делать обновления для своих данных, лучше всего сразу сделать это на стороне клиента, а затем запустить ту же самую серверную часть кода, чтобы "зафиксировать" ее на самом деле. Есть много примеров, где это имеет смысл.

Если есть "секретный" код модели, который вы не хотите запускать на стороне клиента, у вас наверняка есть второй файл server/models.js.

Ответ 2

Лучший способ защитить приложение клиент-сервер - это написать явные проверки безопасности на сервере, а не скрывать логику обновления базы данных от клиента.

Более подробное описание модели безопасности см. в fooobar.com/info/236863/....