1.) Да, parse php sdk не делает никакой проверки на главном ключе. Проверка выполняется на стороне сервера анализа, который вы используете. По сути, главный ключ существует, чтобы разрешить переопределение ACL, как указано в sdk docs. Он отправляется на сервер при отправке запроса, который запрашивает использование главного ключа.
В принципе, если вы делаете какие-либо запросы, которые необходимо переопределить ACL, и вы укажете использовать мастер-ключ, тогда будет отправлен главный ключ. В других случаях главный ключ не отправляется. Вы можете проверить это, написав быстрый код, который отправит мастер-ключ, например $object->save(true)
. В этом случае ваш главный ключ должен сбой, если он не соответствует загруженному на сервере.
2.) Вы действительно не можете помешать кому-то выяснить свой Идентификатор приложения. Безопасность, которую вы ищете, не так много на стороне клиента, как на сервере. Вы должны быть уверены, что настроили ACL объектов и классов, чтобы ограничить доступ ко всем объектам (и классам), которые вы не хотите читать (или записывать) произвольными лицами. Роли - довольно хороший способ применить это к широкому набору объектов, например ограничить доступ к роли администратора.Если вы заблокируете свои данные, это потребует, чтобы кто-то нарушил существующую учетную запись с доступом к этим данным, вместо того, чтобы просто использовать ваш идентификатор приложения.
При этом вы всегда должны опасаться того, кто может захватить ваш главный ключ, поскольку он позволит им обойти все эти ACL, которые вы настроили (держите его в безопасности!).
Надеюсь, это поможет прояснить роль главного ключа для вас, ребята.
Нет PHP SDK не игнорирует главный ключ. Просто проверьте, что оба sdk и parse-server работают с одним и тем же ключом. – Cliffordwh
Благодарим вас за ответ. Это проблема. мы изменили мастер-сервер parse-server, но оставили старый мастер-ключ в init. Сценарий каким-то образом справляется с работой. Мы пробовали разные вещи, чтобы предотвратить работу php. например, мы включили RestKey на сервере, и теперь php будет работать, только если RestKey был предоставлен во втором аргументе. Это решило бы это, но iOS теперь не работало. Необходимо найти способ де-авторизации php без отмены авторизации iOS. – bendigi
перезапустили ли синтаксический анализатор после его изменения? – Cliffordwh