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

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

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

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

например, в Meteor 0.5.0 ' s новый пример of parties app, модель.файл js, похоже, также отправляется на клиентскую сторону.

Я что-то неправильно понял?

редактировать

вот это я не понимаю.

по данным http://docs.meteor.com/#structuringyourapp,

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

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

2 ответов


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

редактировать

относительно второй части:

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

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

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


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

для объяснения модели безопасности, см. https://stackoverflow.com/a/13334986/791538.