Ответы пользователя по тегу Информационная безопасность
  • Безопасный кроссдоменный обмен данными между AJAX и PHP?

    @Nyarlathotep
    Так похоже все гораздо проще, чем я думал.
    Что мешает просто авторизоваться по логину и паролю, стандартными методами?

    Ну делается скрипт, который открывает окошко с нашего сайта, дает там авторизоваться, после чего выставляет сесию/куку? А дальше все скрипты уже работают с нашим сайтом имея там нормальную авторизацию…

    Или надо обезопасится от кривых запросов на наш сайт? Ну так если запросы посылает клиент, то злоумышленник в итоге сможет послать что угодно, как ты не защищайся, т.е. в этом случае без сервера не обойстись.
    Ответ написан
  • Безопасный кроссдоменный обмен данными между AJAX и PHP?

    @Nyarlathotep
    Все зависит от того, можно ли что-либо сделать не client-side, а server-side с сайтом человека, которому представляется услуга. ВКонтакт именно так и работает, если мне не изменяет память.
    (Ну если быть полностью точным, то там два набора ключей, один для усложнения жизни тем, кто будет ломать, второй действительно секретный, который знает только серверные части).

    Т.е. ситуация меняется, AJAX спрашивает не у вашего сайта, а у сайта, который потом спрашивает ваш (причем делает это либо много раз, либо после первого успеха ставит правильную сессионную куку и т.д.).

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

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

    На примере авторизации:

    A — AJAX, S — сайт клиента, U — ваш сайт.

    A -> S: авторизируй меня, вот мои данные (хоть сколько раз подделанные)
    S -> U: тут кто-то хочет авторизоваться, вот его данные
    U -> S: окей, данные нормальные
    S -> A: вот тебе сессионная кука, работай дальше

    Поскольку в такой схеме у злоумышленника нет контроля над данными между S и U он ничего критичного сделать не сможет.
    Ответ написан
    3 комментария