Задать вопрос
  • Возможна ли подмена заголовков электронного письма при настроенных SPF, DKIM, DMARC записях?

    RoundRobin
    @RoundRobin
    Они пользуются почтовым хостингм стороннего провайдера (популярный российский хостер). В SPF указано значение соответствующее почтовым серверам этого провайдера.
    Злоумышленник может легко обойти проверку SFP, отправив письмо с хостинга этого провайдера. IP-адрес сервера отправителя в этом случае будет "легитимный" из этого списка.

    Что касается DMARC к сожалению, это не панацея, по описанным в комментариях выше причинам.

    А отсутствие DKIM (самого по себе, без DMARC) не спасет. Возможно несколько повлияет на скоринг, но жесткого реджекта в подавляющем большинстве случаев на стороне получателя не будет.

    Что касается описанных в письме методов противодействия, их эффективности, квалификации их авторов, и вопроса как эта инструкция поможет, если злоумышленники переименуют файл или укажут другое имя отправителя... вы наверняка сами все понимаете.
    Ответ написан
    2 комментария
  • Как реализуется вывод сообщения об отсутствии соединения?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    window.addEventListener('online', () => {
      // связь есть, скрыть уведомление
    });
    
    window.addEventListener('offline', () => {
      // связи нет, показать уведомление
    });
    Ответ написан
    2 комментария
  • Как сделать большую картинку opengraph в телеграм?

    @skrinart Автор вопроса
    вопрос решен. Для телеграма нужна специальная верстка Instant View.

    Результат:
    5d73791ba5860152010038.jpeg
    Ответ написан
    2 комментария
  • Как в телеграм загружать картинку по ссылке без ссылки?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Сделать скрытую ссылку в начале сообщения
    $msg = "<a href=\"ссылка на картинку\">\u{00a0}</a>\n" . $msg;
    Ответ написан
    1 комментарий
  • Как правильно сформировать автоматические релизы на Github?

    @ilya_chch Автор вопроса
    в общем, решил вопрос:

    name: Release
    
    on:
      push:
        branches:
          - master
    
    jobs:
      release:
        if: github.event_name == 'push' && github.ref == 'refs/heads/master'
        name: Release
        runs-on: ubuntu-latest
        steps:
          - name: Getting code
            uses: actions/checkout@master
          - name: Getting Python
            uses: actions/setup-python@master
          - name: Cache pip
            uses: actions/cache@v2
            with:
              path: ~/.cache/pip
              key: ${{ runner.os }}-pip-${{ hashFiles('poetry.lock') }}
              restore-keys: |
                ${{ runner.os }}-pip-
          - name: Getting Poetry
            uses: dschep/install-poetry-action@v1.3
          - name: Getting PostgreSQL
            uses: harmon758/postgresql-action@v1
            with:
              postgresql db: 'test_db'
              postgresql user: 'postgres'
              postgresql password: 'postgres'
          - name: Installing dependencies
            run: poetry install
          - name: Running tests
            run: make coverage_run
          - name: Running coverage check
            run: make coverage_cmd_report
          - name: Running codestyle checks
            run: make check_black
          - name: Running types checks
            run: make check_mypy
    
          - name: Generate coverage report
            run: make coverage_xml_report
          - name: Upload coverage to Codecov
            uses: codecov/codecov-action@v1
            with:
              token: ${{ secrets.CODECOV_TOKEN }}
              file: ./coverage.xml
    
          - name: Getting package version
            id: get_version
            run: echo "::set-output name=version::$(poetry version)"
    
          - name: Getting package clear version
            id: get_clear_version
            run: echo "::set-output name=clear_version::$(poetry version | cut -d ' ' -f 2)"
    
          - name: Make release and publish
            run: make release USERNAME=${{ secrets.PYPI_USERNAME }} TOKEN=${{ secrets.PYPI_TOKEN }}
    
          - name: Get asset name
            id: get_asset_name
            run: echo "::set-output name=assert_name::$(ls dist | grep gz)"
    
          - name: Create Release
            id: create_release
            uses: actions/create-release@latest
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            with:
              tag_name: ${{ steps.get_clear_version.outputs.clear_version }}
              release_name: ${{ steps.get_version.outputs.version }}
              draft: false
              prerelease: false
    
          - name: Upload Release assets
            id: upload_gz
            uses: actions/upload-release-asset@latest
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            with:
              upload_url: ${{ steps.create_release.outputs.upload_url }}
              asset_path: dist/${{ steps.get_asset_name.outputs.assert_name }}
              asset_name: ${{ steps.get_asset_name.outputs.assert_name }}
              asset_content_type: application/tar+gzip
    Ответ написан
    Комментировать
  • Как злоумышленник может использовать MAC-адрес?

    Oxyd
    @Oxyd
    Linux enthusiast
    Подмена MAC-адреса, он-же MAC Spoofing. Работает только в пределах домена коллизий. То-есть что-б работало, злоумышленник должен быть в одной локальной сети с атакуемым хостом.
    Ответ написан
    1 комментарий
  • Как злоумышленник может использовать MAC-адрес?

    @xBrowser
    Если MAC-адрес в сети используется как идентификатор или аутентификакатор, то злоумышленник, меняя MAC-адрес своего устройства на MAC-адрес жертвы, которая является авторизированным пользователем сети, может воспользоваться всеми привелегиями. Например доступом в интернет или во внутреннюю интрасеть.
    Дальше использование сервисов от лица жертвы подставляет ее, т.к. любые противоправные действия будут предъявлены в первую очередь жертве, т.к. ее MAC-адрес фигурировал при атаке.

    Таким образом можно, например, через общественный Wi-Fi сети выгружать экстремистские или любые другие запрещенные на территории государства прибывания цифровые материалы в сеть.

    В ряде случаев практикуется атака man-in-the-middle, в данном случае выполняется в виде подмены MAC-адреса атакующего устройства на MAC-адрес шлюза для доступа жертвы в интернет. Это позволяет перенаправить трафик жертвы через атакующее устройство для его изменения на лету или прослушки и последующей расшифровки.
    Ответ написан
    6 комментариев
  • Как наказать хостинг провайдера за спам?

    @d-stream
    Готовые решения - не подаю, но...
    На госуслугах есть форма жалобы на несанкционированную рекламу. Там правда формочка требует кучки подробностей, но если уж достал спамер - почему бы не скормить его ФАС.

    Ну и да - можно поработать павликом морозовым, как посоветовали выше, и "осветить" его фискалам, сделав например контрольную закупку... сколько там сейчас за незаконное предпринимательство и нарушение 54ФЗ?

    при особой озлобленности - можно попробовать притянуть за уши селектел - мол "группой лиц по предварительному сговору"... в принципе могу предсказать что при малейших подвижках в официальной плоскости пров избавится от неудобного клиента, ибо бизнес должен быть прибыльным, а копейка со спамера не оправдает затрат на работу юриста по оформлению ответа органам.
    Ответ написан
    2 комментария
  • Какое максимальное количество гигабайт можно загрузить в Telegram?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Разглашать такие ограничения - это было бы стратегической ошибкой со стороны Дурова по ряду причин:
    1. Пока объёмы не создают проблем и укладываются в существующие мощности, создать иллюзию безлимитного изобилия дискового пространства - это хороший PR ход подогревающий интерес к мессенджеру.
    2. Как только лимиты будут четко очерчены, сразу появятся желающие их "пощупать". Таких желающих будет много, и они начнут ныть, когда лимиты придётся урезать из-за этого. Всякие любители нецелевого использования халявы узнав про конкретные лимиты станут плодить и заливать под завязку аккаунты для хранения своего барахла. Очевидно. что от таких паразитов Телеграму только вред, а ныть они будут на весь инет жалуясь, что либо лимиты постоянно урезают и "чего нам теперь ждать дальше", либо что этих паразитов банят за не целевое использование сервиса, а они "просто хотели другу архивы с лабами переслать". Ага.
    3. В лицензии наверняка (я правда не читал, ибо лень) написано, что телегу можно юзать как можно и нельзя как нельзя. Но банить за такое нужно только самых упоротых и по лотерее, чтобы нельзя было вычислить строгий алгоритм и делать всё, чтобы брать максимум халявы, но не попадаться на бан.

    Я понимаю, что вопрос вы задаёте с другой стороны окопа. Я понимаю вашу мотивацию.
    Однако если бы я разрабатывал похожую систему, то постарался бы:
    • максимально расплывчато описать ограничения;
    • максимально обобщенно описать правила (чтобы можно было любого злоупотреблятеля забанить, и нельзя было докопаться, мол, почему вот его не банят, а меня забанили);
    • максимально неочевидными и непостоянными сделать правила блокировок самых неудобных и геморройных пользователей.
    Ответ написан
    1 комментарий
  • Почему пакеты для Laravel не содержат composer.lock?

    glaphire
    @glaphire
    PHP developer
    Потому что это пакеты (стороннее переиспользуемое решение), а не конечный код.
    Здесь composer.json для того, чтобы описать зависимости и требования самого пакета.
    Ответ написан
    7 комментариев
  • Почему оба пароля открывают архив?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Архив в ZIP шифруется по алгоритму AES с использованием 128битного или 256битного ключа.
    Это значит, что ваш пароль сперва конвертируется в ключ соответствующей длины, то есть вычисляется некий хеш от пароля. Ну и соответственно возможна коллизия, то есть один и тот же хеш может получиться из разных паролей.
    Ответ написан
    Комментировать
  • Как копируют калькуляторы с чужих сайтов?

    Ответ написан
    Комментировать
  • Генерация id с несколькими символами?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Каждый ваш "00" - это драгоценное место в базе. Если, конечно, вы планируете лишь 999 строк - то вы можете не int колонку создать, а уникальный индексированный char(3) и пихать туда, только вам самостоятельно придётся +1 прибавлять при добавлении в базу.

    Я же бы рекомендовал хранить обычный int, а ваши причуды типа тысячи нулей перед числом обрабатывать на стороне php. База - это такая вещь, которую лучше лишний раз не теребить, если вы рассчитываете на большие цифры.
    Ответ написан
    3 комментария
  • Как обработать массив в PHP?

    0xD34F
    @0xD34F
    array_combine(array_keys($arr), array_column($arr, 'VALUE'))

    или

    array_map(function($n) {
      return $n['VALUE'];
    }, $arr)
    Ответ написан
    Комментировать
  • Как запросить номера телефона в viber api?

    @rakhinskiy Автор вопроса
    Для тех кто периодически сюда попадает по тому же вопросу
    1. Суппорт вайбера ответил что данный функционал не доступен в desktop клиенте
    2. Для мобильных клиентов нужно указывать min_api_version 3 или выше что бы заработало
    Ответ написан
    Комментировать
  • Как работает password_hash?

    Комментировать