В настоящее время отправлять сообщения из самого приложения невозможно. Вы можете отправлять сообщения с веб-консоли Firebase или с настраиваемого сервера с использованием API-интерфейсов на стороне сервера.
Что вы можете сделать - это связаться с сервером (например, через HTTP-вызов), и этот сервер будет отправьте сообщение пользователю. Таким образом, убедитесь, что API-ключ сервера защищен.
PS: sendMessage(..)
api вызывается восходящей функцией и может использоваться для отправки сообщений из вашего приложения на ваш сервер, если сервер имеет соединение XMPP с сервером FCM.
Если Вы не ожидаете, что вводит, отклоняют его.
Необходимо всегда проверять исходные данные и конечно отбрасывать что-либо за пределами ожидаемого диапазона. Если Вы уже знаете, что Ваш URL честно не будет вне определенной длины, затем отклоняющей его, прежде чем это доберется до приложения, кажется мудрым.
Если Вы знаете, что допустимые URL не могут быть по байтам N затем, это походит на хороший способ быстро отклонить попытки перекрестных сценариев сайта без слишком большого усилия.
Лучше проверить то, что находится в запросе, чем проверяют длину URL.
Ваши потребности могут измениться в будущем, в которой точке необходимо будет удалить или изменить проверку длины URL, возможно представляя ошибки.
Если это действительно заканчивается как доказанная уязвимость системы обеспечения безопасности, то можно реализовать его.
Хорошо, давайте предположим, что такой N существует. Как onebyone указанный, уродливый URL, который длиннее, чем символы N, будет отклонен другим контролем ввода так или иначе. Однако в моих глазах, это открывает совершенно новую вещь думать о:
Используя эту константу, можно проверить другую проверку. Если другие проверки не могли обнаружить определенный URL как недопустимый, однако, URL длиннее, чем символы N, то этот URL инициировал ошибку и должен быть зарегистрирован (и возможно целое приложение должно закрыться, потому что они могли бы создать недопустимый URL, который достаточно короток).
Да. Если это слишком длинно, и Вы уверены, затем отклоняют его как можно скорее. Если Вы можете, отклонить его, прежде чем это достигнет Вашего приложения (например, IISLockdown сделает это).
Не забудьте объяснять кодировку символов все же.
Лучше, чем проверка длины, я думаю, что необходимо проверить содержание. Вы никогда не знаете, как Вы собираетесь использовать свою схему URL в будущем, но можно всегда санировать исходные данные. Помещать очень сложную вещь очень просто: не доверяйте предоставленным пользователями данным. Не помещайте его непосредственно в запросы DB, делайте не оценку () он, ничего не считайте само собой разумеющимся.
Я думаю, что это может дать Вам некоторую капельку безопасности и могло бы сохранить Вас немного пропускной способности, если люди действительно отправляют Вам сумасшедшие длинные URL, но в основном необходимо просто проверить данные в реальном приложении также. Несколько уровней безопасности обычно лучше, но не делают ошибку размышления что, потому что у Вас есть (слабая) гарантия вначале, что у Вас не будет проблем с остальными.
Safari, Internet Explorer и Firefox, у всех есть различные макс. длины, которые он принимает.
Я голосую, идут для самого короткого из всех трех.
http://www.boutell.com/newfaq/misc/urllength.html
Вытянутый из ссылки -
"Microsoft Internet Explorer (Браузер) - 2 083 символа
Firefox (Браузер) - После 65 536 символов, адресная панель больше не отображает URL в Windows Firefox 1.5.x. Однако более длинные URL будут работать. Я прекратил тестировать после 100 000 символов.
Safari (Браузер) - По крайней мере 80 000 символов будут работать."
как Вы так уверены, что весь URL дольше, чем N недопустим? Если можно быть уверены, то это не должно повреждать ограничивать его так же, как проверку работоспособности - но не позволяет этому дураку Вы в размышление, что Вы предотвратили класс использования.
Единственная вещь I видит, что это могло вызвать проблемы, то, что, в то время как сегодня Ваш URL никогда не будет превышать N, Вы не можете гарантировать, что это не будет иметь место навсегда. И через год, когда Вы возвращаетесь для создания редактирования, чтобы позволить, чтобы URL был N+y в длине, можно забыть изменять код отклонения URL.
Вы всегда будете более обеспеченной проверкой параметров URL до использования их.
Я сказал бы "нет". Это - просто ложная безопасность. Просто программа хорошо и проверка Ваши запросы на плохой материал. Это должно быть достаточно.
Кроме того, это не соответствует требованиям завтрашнего дня.
Защита подробно является хорошим принципом. Но ложные меры безопасности являются плохим принципом. Различие зависит от большого количества деталей.
Если Вы действительно уверены, что любой URL по N недопустим, то можно также отклонить его. Но если это будет верно, и если остальная часть Вашего контроля ввода будет корректна, то это будет отклонено позже так или иначе. Таким образом, вся эта проверка делает потенциально, возможно, смягчите ущерб, нанесенный некоторой другой ошибкой в Вашем коде. Часто лучше провести Ваше время, думая, как избежать тех ошибок, чем размышление о том, каков N мог бы быть.
Если Вы действительно проверяете длину, то все еще лучше не полагаться на этот предел длины в другом месте в Вашем коде. Выполнение, которое связывает различные проверки более плотно вместе и мешает изменять предел в следующей версии, если Вы изменяете спецификацию и должны принять более длинные URL. Например, если предел длины становится оправданием поместить URL на стек без надлежащей осторожности и внимания, то можно настраивать кого-то для падения.