• Функционал vs Функциональность?

    Shultc
    @Shultc
    RnD Developer
    Что-то я подозреваю, что у вашего начальника какие-то проблеммы именно со вторым значением этого слова…
    Ответ написан
    1 комментарий
  • Как сделать правильную авторизацию на Vue.js?

    @tvsjke
    информация засекречена
    Использовать JWT

    По поводу хранения:

    Cookies при правильном использовании являются адекватным и наиболее безопасным на данный момент решением для хранения JWT Access токена и должны следовать следующим правилам:

    • Быть установленными для API домена/пути чтобы избежать оверхеда при запросах к статичным файлам (публичным картинкам/стилям/js файлам).

    • Иметь флаг Secure (для передачи только по https).
    • Иметь флаг httpOnly (для невозможности получения доступа из JavaScript).
    • Атрибут SameSite должен быть Strict для защиты от CSRF аттак, запретит передачу Cookie файлов если переход к вашему API был не с установленого в Cookie домена.


    На стороне сервера так же должно быть настроено:
    • Content-Security-Policy – ограничение доверенных доменов для предотвращения возможных XSS атак
    • Заголовок X-Frame-Options для защиты от атак типа clickjacking.
    • X-XSS-Protection – принудительно включить встроенный механизм защиты браузера от XSS атак.
    • X-Content-Type-Options – для защиты от подмены MIME типов.


    Соблюдение этих мер вкупе с частой ротацией Access/Refresh токенов должно помочь обеспечить высокий уровень безопасности на сайте.

    Отсюда
    Ответ написан
    1 комментарий
  • Как сделать правильную авторизацию на Vue.js?

    @ShinShil
    В плане безопасности и токен, и куки равны. Под безопасностью имею ввиду сложность взлома.

    Можно выделить несколько основных отличий:
    1. Куки - хранятся на сервере и на клиенте, токен - хранится на клиенте
    2. Куки привязываются к домену, который авторизовался, а токен нет - это даёт большую гибкость, и она становится необходимостью при разработке распределённых систем.
    3. Токен можно использовать выборочно на запросах, а куки на всех запросах. В случае с куки, это может привести к XSRF атакам, т.к. после авторизации, все запросы будут считаться авторизованными. Например, ты авторизовался на сайте site.com, я отправил тебе письмо с таким тегом:
    <img src="https://site.com/money?money=200&to=me />
    . В результате мне перечислит 200 единиц, т.к. после авторизации с куки, все запросы считаются авторизованными и запрос https://site.com/money?money=200&to=me отработает. Способы защититься от таких атак существуют.

    В последние пару лет токены стали чаще использовать, по трём причинам:
    1. Они stateless, что больше соотвествуют SPA (angular, vue, react) - один из моментов SPA в том, что состояние клиента находится на клиенте.
    2. Гибкость, т.к. токены не привязаны к одному домену
    3. Они набрали популярность))

    За последние два года лично мне не попадалось проектов с куки-авторизацией, стек .net + angular/react

    https://dev.to/spukas/authentication-cookies-vs-to...
    https://stackoverflow.com/questions/17000835/token...
    https://www.linkedin.com/pulse/cookie-vs-token-aut...
    Ответ написан
    4 комментария
  • Как ускорить выполнение preg_replace (в массиве 100 паттернов)?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Так себе идея обрабатывать теги регулярками, но...
    Пощупать вашу проблему я не могу ввиду страшной аллергии к ПХП.
    Могу предложить ряд оптимизацией обобщенного характера.
    1. Проанализировать регулярки, найти зависимости и "скомпилировать" их в одну регулярку или небольшую группу из нескольких. Обрабатывать регулярки можно эвентуально. То есть дополнительно анализировать матчи программно и в зависимости от контекста подставлять соответствующую замену. Ещё можно пир компиляции регулярок в одну поименовать группы уникально так, чтобы по имени проматченной группы можно было найти нужную замену в словаре замен.
    2. Если замены более-менее однотипные, например одни теги заменяются на другие, то можно вообще построить общую универсальную простую регулярку на тег, а программно смотреть по словарю чему соответствует матч и делать нужную замену.

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

    Вообще, система, построенная на высокочастотной обработке большого текста сотней регулярок явно спроектирована как-то неправильно. Как выше сказали, наверняка эту проблему надо было решать в другом месте.
    Ответ написан
    Комментировать
  • Как добавить в парсинг свой элемент?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    upd. substr_replace($str, '.', 1, 0); - вставить "." после первого символа строки $str

    Ничего не понятно о чём вопрос, но если задача в том чтобы получить значение buyPrice с этой или подобных страниц то вот нормальное решение, а не ужас на substr

    <?php
    $page = file_get_contents("https://etherscan.io/dapp/0x71ee6E4fD5F2E70eD5e6fBAf853AE3B223564BCa#readContract");
    
    preg_match('!buyPrice:.*?([0-9]+)<!si', $page, $out);
    $buyPrice = $out[1] ?? 0;
    
    var_dump($buyPrice); //404778000000000
    
    $buyPriceDot = substr_replace($buyPrice, '.', 1, 0);
    var_dump($buyPriceDot); //4.04778000000000
    Ответ написан
    1 комментарий
  • Как добыть и какую лучше иностранную дебетовую карту?

    @mv200580
    Интересный британский стартап https://revolut.com/

    Делают физическую UK MasterCard, высылают её по почте, на адрес в РФ пришла за 10 дней
    Выпуск бесплатный
    Обслуживание бесплатное (первый год)
    Пополнение бесплатное с их стороны. МСС 6012 - ваш банк может брать комиссию
    Снятие наличных в любом АТМ бесплатное
    Пока идет карта, можно пользоваться виртуальной в приложении

    здесь можно почитать подробности blogbankir.ru/revolut.html
    в частности:
    — Точно россиянам не нужно извещать налоговую об открытии счета?
    — Уведомление налоговой об открытии счетов регулируется Статьей 12 закона о Валютном регулировании и валютном контроле. В данном случае банковский счет за рубежом не открывается. Согласно «Революту» с деньгами работает Optimal Payments, это «Optimal Payments Limited is authorised by the Financial Conduct Authority under the Electronic Money Regulations 2011 (FRN: 900015) for the issuing of electronic money and payment instruments.»
    Т.е., это электронный кошелёк.
    Ответ написан
    3 комментария
  • Есть ли вообще возможность принимать оплату paypal и картами для граждан Украины?

    twix007
    @twix007
    Пока это не будете на уровне разрешения государством - только изваращениями....
    За которые могут вообще уголовку открыть...
    Лучше подпишись тут
    Ответ написан
    1 комментарий
  • Говно-код с использованием MVC фреймворков?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Говнокодят все, а кто утверждает обратное - говнокодит ещё больше.
    Ответ написан
    1 комментарий
  • Что такое оверхэд (overhead)?

    @egorinsk
    Неизбежные накладные расходы.

    Например, программа, которую вы написали, делает полезную работу в течение 10 мс, но на запуск и завершение виртуальный машины Ява уйдет дополнительно 5 секунд, и эти 5 секунд будут оверхедом.
    Ответ написан
    2 комментария