Как стать автором
Обновить

Комментарии 15

Надеюсь разрабатывал ты лучше, чем оформлял статью :)

На данный момент оформление исправлено.

А где у вас проверка хоста, что-то не вижу... И да, кто-то вам позволял хранить данные "клиентов"?

Вроде тут есть:

https://github.com/Girrafeec/CC-QR-Scanner/blob/main/app/src/main/java/com/girrafeecstud/ccqrscanner/QuickResponseCodeURL.java

Начиная с 16 строки
    // Pattern for valid url path
    // example: /covid-cert/verify/****************, where ***************** - certificate id
    // example: /covid-cert/status/************************************, where ************************************ - hash sum
    // example: /vaccine/cert/verify/************************************, where ************************************ - hash sum
    private static final Pattern urlPathPattern = Pattern.compile(
            "^/[\b(covid\\-cert)|(vaccine)\b/]+/[\b(verify|status|cert/verify)\b/]+/[^/]+[a-zA-Z0-9]$"
    );

    // Pattern for valid url domain
    private static final Pattern validUrlDomain = Pattern.compile(
            "^www.gosuslugi.ru$"
    );

    // function to check if qr contains url
    public boolean isURL(String str){

        if (urlPattern.matcher(str).matches())
            return true;
        else
            return false;

    }

То есть проверки нет. Например, я регистрирую домен example.club, на нём делаю поддомен www.gosusugi.ru.example.club - и оно успешно проходит проверку

имхо www.gosusugi.ru.example.club не пройдет проверку

Да, ваша правда, не увидел что там $ и ^

А вот например такой wwwxgosuslugi.ru , полагаю, пройдет - ведь точки не экранированы, и означают любой символ (хотя я не спец в джаве, может быть там как-то по-другому работает)

По идее должно быть так:

^www\.gosuslugi\.ru$
Правильный вопрос — зачем там вообще регулярка, если нужно просто две строки сравнить

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

Тут еще можно понять, если автор полагается на то что в QR-кодах используется только с www. Но вот неумение пользоваться регулярками - уже создаёт дыру.

Всё грустно.

  1. Пилить строковые ресурсы в коде — плохо
  2. Ходить в файловую систему из UI-потока — очень, очень плохо
  3. Ходить в сеть через HttpUrlConnection в 2022 — выглядит как особая форма мазохизма
  4. Открыто хранить данные — идея сомнительная, особенно в простом файле на диске
  5. Чем костылить хранение табличных данных в текстовом файле — почему не использовать базу
  6. Волшебные константы, волшебные константы повсюду
  7. Всё навалено в кучу, ни архитектуры, ничего
  8. Не умеете пользоваться switch
  9. При проверке на переиспользование в упор не вижу проверку на интервал. Даже если совпадение было месяц назад — всё равно будет «был использован сегодня»

Главное, помогать сегрегации - очень плохо

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

1) qr-код не является антиковидной мерой, и любой здравомыслящий человек должен это понимать.

2) если глупый раб с со стокгольмским синдромом сам решил свой металлический механический ошейник поменять на электронный, который надежней, - пусть оставит его реализацию для себя и своего хозяина. Или ложится в палату, где чатлане и пацаки - это норма. В массы рабство нести не надо, даже если очень хочется выслужиться перед господином! А то ведь служить можно как Богу, так и сатане

Хранить данные в текстовом файле... Это конечно сильно. Ну да ладно. Не это меня больше всего зацепило.

В первую очередь в глаза бросился бардак с самими сертификатами. Три разных формата ссылок в сертификатах (и не факт, что это полный набор, там где три там и четыре и пять, просто возможно они ещё не попадались). Не ужели утвердить единый формат QR кодов это так сложно? Вот по одному только этому факту можно понять какой бардак творится среди разработчиков сервиса. Выглядит так, как будто бы там несколько комманд разработчиков, которые между собой ни как не взаимодействуют. Из за чего каждый делает свой костылесипед.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории