Я предлагаю использовать QueryPath для синтаксического разбора XML и HTML в PHP. В основном это тот же синтаксис, что и jQuery, только на стороне сервера.
По умолчанию база данных в проекте в новой Firebase Console доступна только для чтения / записи аутентифицированными пользователями:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
См. quickstart для Firebase Правила безопасности базы данных .
Поскольку вы не подписываете пользователя из своего кода, база данных запрещает вам доступ к данным. Чтобы решить эту проблему, вам нужно либо разрешить доступ к базе данных без проверки подлинности, либо войти в нее перед доступом к базе данных.
Простейший обходной путь для момент (пока обновление не будет обновлено) - перейти на панель «База данных» в консоли для вашего проекта, выбрать вкладку «Правила» и заменить содержимое этими правилами:
{
"rules": {
".read": true,
".write": true
}
}
Это делает вашу новую базу данных доступной для чтения и можно писать всем. Убедитесь, что ваша база данных снова защищена, прежде чем вы начнете производство, иначе кто-то, возможно, начнет ее злоупотреблять.
. Для (немного) больше но более безопасное решение, вызовите один из методов signIn...
для проверки подлинности Firebase Authentication , чтобы убедиться, что пользователь выполнил вход перед доступом к базе данных. Самый простой способ сделать это: с использованием анонимной аутентификации :
firebase.auth().signInAnonymously().catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
И затем присоединить ваших слушателей, когда обнаружен вход
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
var isAnonymous = user.isAnonymous;
var uid = user.uid;
var userRef = app.dataInfo.child(app.users);
var useridRef = userRef.child(app.userid);
useridRef.set({
locations: "",
theme: "",
colorScheme: "",
food: ""
});
} else {
// User is signed out.
// ...
}
// ...
});