Должен ли я заблокировать определенные символы из моего EditTexts по соображениям безопасности? - PullRequest
0 голосов
/ 11 июля 2019

Я занимаюсь программированием около 6 месяцев, но также немного занимался программированием около 10 лет назад.Я помню, что тогда мне приходилось блокировать некоторые символы в текстовых полях в целях безопасности, чтобы люди не вводили какой-либо код, который мог бы причинить вред.

Это все еще актуально в 2019 году?Должен ли я беспокоиться о чём-либо подобном?

Я использую Cloud Firestore в качестве сервера.

  • В моем приложении разрешены все языки, поэтомуЯ не могу ограничить, какие символы разрешены, так как их слишком много.

  • Если нет угрозы безопасности, мне не нужно проверять свой текст.Любой текст подходит для меня.Я просто хочу знать, должен ли я волноваться из-за того, что пользователь объединяет какой-то текст, который может что-то сломать.

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

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

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

0 голосов
/ 11 июля 2019

Да, вы можете сделать это. Вам нужно передать список разрешенных символов в android: digits = ""

Например

ниже, я разрешаю только от a до zи от A до Z символов.

<EditText
    android:id="@+id/editText1"
    android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...