• Chrome не посылает cookie с разрешенным CORS?

    OCTAGRAM
    @OCTAGRAM
    web3_Venture, каждый домен единолично¹ решает, какие себе поставить куки.

    • Кукис можно поставить средствами JavaScript, и для этого должна быть открыта новая вкладка, либо всплывающее окно, либо фрейм, с адресом в подходящем домене, и в этом фрейме может сработать скрипт, который обратится к document.cookies и установит кукис в подходящий домен
    • Кукис можно поставить средствами HTTP-заголовков в ответ на запрос по адресу в подходящем домене. Это либо переход во фрейме, либо отправка формы во фрейме, либо подгрузка картинки/скрипта/и т.п. Либо междоменный запрос с withCredentials true. Если один междоменный запрос поставил кукисы, то другой междоменный запрос получает кукисы, которые были поставлены при прошлом запросе. Сам сервер должен захотеть поставить себе кукис, вы снаружи без участия сервера никак не сможете забросить в чужой домен ничего


    ¹Когда грузится всякая Яндекс.Метрика, сторонние чаты и т.п., это внешние скрипты, которые исполняются в контексте того фрейма, который загрузил их, а, значит, обращаясь к document.cookies, скрипты могут редактировать кукисы в чужом неяндексовом домене, но при этом скрипты могут и звонить домой в Яндекс, и при таких запросах участвуют и кукисы домена Яндекса.
  • Chrome не посылает cookie с разрешенным CORS?

    OCTAGRAM
    @OCTAGRAM
    web3_Venture, кукисы можно передать, принадлежащие соответствующему домену, потому что простой CORS будет сделан вообще без кукисов, даже если пользователь авторизован на чужом сайте. С флагом withCredentials кукисы передаются, но только принадлежащие соответствующему домену. Между доменами они вообще никогда не смешиваются
  • Насколько обременительно для кодера содержать ООО (вместо ИП или самозанятого)?

    OCTAGRAM
    @OCTAGRAM
    Юлия Бедросова, объясните это вот этим людям. Там не хотят иметь дело с ИП. И сертификаты для сайтов на ГосУслугах не дают. Короче, нас дискриминируют
  • Как сессию с whatsappweb перенести на другой пк?

    OCTAGRAM
    @OCTAGRAM
    shurshur,

    войти-то можно


    62460fe9eb59e796513584.png

    Я тут всё искликал, войти не могу
  • Как сессию с whatsappweb перенести на другой пк?

    OCTAGRAM
    @OCTAGRAM
    shurshur, в этот WA войти-то нельзя, было бы, что угонять
  • Как сессию с whatsappweb перенести на другой пк?

    OCTAGRAM
    @OCTAGRAM
    shurshur, я в Скайп не вводил пароль полтора года. Можно считать, пароль от Скайп хранится на том самом устройстве, к которому у злоумышленника нет доступа
  • Как сессию с whatsappweb перенести на другой пк?

    OCTAGRAM
    @OCTAGRAM
    shurshur, ну, в том виде, как я видел WA, там привязка к телефонному номеру по коду, получаемому на СМС, и если угнать этот код, можно провернуть то же самое
  • Как сессию с whatsappweb перенести на другой пк?

    OCTAGRAM
    @OCTAGRAM
    shurshur, запускаем WhatsApp на одном-единственном устройстве и наблюдаем QR-код. Никуда дальше не пробиться. А вот Скайп работает хоть на одном-единственном устройстве, хоть на нескольких
  • Как сессию с whatsappweb перенести на другой пк?

    OCTAGRAM
    @OCTAGRAM
    shurshur,

    Но в целом это дурацкое занятие, неужели так трудно один раз отсканировать код?


    Запустить эмулятор андроида, установить виртуальную камеру, считывающую содержимое экрана. Удачно законтачить эмулятор андроида и эту виртуальную камеру (вот тут почему-то не любой софт виртуальной камеры подходит). Ну такое себе занятие. Непонятно, почему разработчики не сделают нормальный логин, как везде.
  • Почему все так ненавидят паскаль?

    OCTAGRAM
    @OCTAGRAM
    Василий Банников, Delphi живёт в области desktop-разработки, а desktop сначала начал съёживаться в пользу mobile. В то время, как Kotlin раздавался бесплатно, Delphi и подошли к mobile с запозданием, и цены задирали выше, чем за desktop. Бесплатные версии появились непростительно поздно.

    Кроме того, в mobile очень долго пихали несовместимый Delphi NextGen. Мы до сих пор не можем оправиться от несовместимого перехода между Delphi 2007 и Delphi 2009 на Юникод (на моей текущей работе тоже упёрлись в 2007 и дальше до сих пор никак). А NextGen был как Юникод номер два. Причём, для desktop не было NextGen. Короче, много дров наломали.

    Потом началась вторая трансформация, бум HTML5. В этот период desktop и mobile оба вместе съёживаются по отношению к web, и Delphi до сих пор нечего предложить на этом поприще.

    Сейчас в первую очередь делается web-версия, потом, если сил хватит, mobile, но часто просто берётся тот же web и пихается внутрь программы-браузера. А до desktop уже никто и не доходит толком. А кто всё же дошёл, там каждый первый сделал программу-браузер. В этом сценарии нет места для Delphi.

    Абстрагируйтесь от языка программирования и попробуйте в своём городе найти вакансию desktop-разработчика. Это не Delphi вымирает, а desktop вымирает, а уже потом вместе с desktop и Delphi, который не смог особо вылезти за пределы своей основной ниши.

    В ЖКХ и энергетике остались как раз такие резервации, где немыслимо начинать с web. Там остался полноценный desktop, и только там может комфортно существовать Delphi.
  • RC4 почему не полный результат?

    OCTAGRAM
    @OCTAGRAM
    Возможно, именно TipwNetCode не способен обработать такое содержимое. Внутренности его надо смотреть.
  • RC4 почему не полный результат?

    OCTAGRAM
    @OCTAGRAM
    ct := concat(ct, String(Chr(ctInt)));
    Вот здесь Chr заменить надо на Char.

    В увеличенном примере всё ещё не видно, куда дальше идёт ct, он же Result.

    Самый простой способ — это как-нибудь заэкранировать ct, чтоб NULL было видно, только на этапе отображения.

    function Escape(const Value: string);
    var
      C: Char;
    begin
      Result := '';
      for C in Value do begin
        if C = #0 then begin
          Result := Result + '''#0''';
        end else begin
          Result := Result + C;
        end; // if
      end; // loop
    end;


    Кстати, уже 10.4.2 на шару доступна, с долгожданными контролируемыми типами (RAII).
  • Как организовать выплату налогов с цепочки Gumroad > PayPal > ИП в 2021 году?

    OCTAGRAM
    @OCTAGRAM
    Одна вещь, которая напрашивается, к чему гипотетически можно придраться, — это нарушение валютного контроля. Запрет на платежи между организациями всякими непонятными электронными деньгами стоит вроде бы как для того, чтоб организации платили через SWIFT или ему подобные межбанковские системы, попутно проходя валютный контроль, которого как раз нет в ПэйПал, и нельзя его туда поставить.
  • Можно ли использовать Telegram в связке с приложением под Windows?

    OCTAGRAM
    @OCTAGRAM
    Архитектурно не понятно, кто будет посылать от имени бота? Можно свой сервер, общий для всех поднять, чтоб принимал команды от локально запущенной программы, и тогда через секретное слово в чате установить соответствие между пользователем и программой-отправителем. А можно сделать, чтоб у каждого пользователя был свой бот, вручную настроенный на пользователя. И чтоб каждый пользователь сам получал ключи для бота и никак не зависел от других чужих серверов.
  • Правильный ли цикл для точек в области?

    OCTAGRAM
    @OCTAGRAM
    1. Видно, что пытаются проверить знания аналитической геометрии, а не API
    2. rgn нужно уничтожать в try-finally или использовать RAII-обёртку
  • Какие версии Delphi сейчас актуальны для разработки desktop-приложения?

    OCTAGRAM
    @OCTAGRAM
    Hemul GM, за отвал отвечают System.SysUtils.RPR и RCS:

    procedure RPR;
    var
      AL: UInt32;
    begin
      AL := GDAL;
      if (AL <> AL1s[1]) and (AL <> AL1s[2]) then ALV;
    end;


    GDAL читает лицензионный статус из ресурса DVCLAL, ALV бросает исключение о недостаточно хорошей лицензии.

    Вызовы RPR; и RCS; разбросаны по модулям из стандартной поставки, можно по всему source сделать поиск строки «RPR;». Например, вот так оно выглядит:

    Embarcadero\Studio\20.0\source\internet\Web.DBWeb.pas:
    constructor TDSTableProducerEditor.Create(DSTableProducer: TDSTableProducer);
    begin
      inherited Create;
      FDSTableProducer := DSTableProducer;
      FDSTableProducer.Editor := Self;
    {$IFDEF MSWINDOWS}
      RPR;
    {$ENDIF}
    {$IFDEF LINUX}
      RCS;
    {$ENDIF}
    end;


    Embarcadero\Studio\20.0\source\data\dbx\Data.DBXClient.pas:
    constructor TDBXClientDriver.Create(DriverDef: TDBXDriverDef);
    begin
      inherited Create(DriverDef);
                                                                                                    
    {$IF NOT (DEFINED(IOS) or DEFINED(ANDROID))}
      rpr;
    {$ENDIF}