Я прочитал много сообщений на форуме (и переполнение стека), касающихся экранирования символов и очистки входных данных пользователя, но я хотел бы связать все это вместе и сделать его немного более специфичным для платформы Android.Вот мое обстоятельство:
У меня есть приложение для Android, которое связывается с веб-службой через сообщения SOAP XML.Вот пример XML-сообщения, которое может быть отправлено (я оставляю конверт SOAP вокруг него):
<Log>
<Summary>user entered text</Summary>
<Details>user entered text</Details>
</Log>
Как вы можете видеть, есть 2 места, где пользователь может вводить текст в форме, котораязатем вставляется в это сообщение для отправки на веб-сервис.Мне нужно:
A) убедиться, что это правильный XML, и
B) убедиться, что он не содержит вредоносного содержимого SQL.
Существуют ли какие-либо предварительно включенные в API Android утилиты для удаления недопустимых символов XML (таких как &), которые мог ввести пользователь?(Так что я могу просто сказать «escapeXML (xmlstring);» или что-то в этом роде)
Есть ли способ проверить на наличие вредоносного SQL (или другого внедрения кода) или его следует обрабатывать на стороне сервера?
В качестве примечания: я почти предпочел бы, чтобы пользователь мог вводить только Аз, 0-9 и базовую пунктуацию (чтобы избежать странных символов Юникода, которые иногда даже нельзя увидеть или интерпретировать).Есть ли хороший способ ограничить пользовательский ввод подмножеством символов?
Я знаю, что это пара вопросов, встроенных в один, поэтому, если вы знаете только часть этого вопроса, пожалуйста, предоставьте ответ в любом случае, и я будуболее чем счастлив, чтобы поддержать или принять это.Заранее спасибо за помощь!(StackOverflow - это то место, куда я захожу, когда перебираю слишком много веток на форуме и извращаюсь вокруг того, что уместно в моих обстоятельствах)