Как защитить Ajax запрос?
  • GoDrGoDr Сентябрь 2011
    я использую jQuery. В компоненте идёт обращение к файлу через GET потипу $.get("/ajax.index.php.....")
    Если просто выполнить этот запрос в строке браузера, он выполнится.. Как можно это исключить и чтобы запрос выполнялся только в компоненте?
  • ArkadiyArkadiy Сентябрь 2011
    туда надо добавить spoofvalue, оно генерируется по непонтному алгоритму, специально для защиты данных, передающихся формами и т.п.
  • ArkadiyArkadiy Сентябрь 2011
    Но на принимающей стороне ты должен проверить его наличие и правильность.
  • GoDrGoDr Октябрь 2011
    так.. а чуть подробнее.. где это брать и что делать?
    Просто сейчас у меня самое тупое решение (если капча не стоит), в коде javascript формирую любое значение в куке, а на стороне клиента проверяю его и удаляю.. Соответственно через строку в браузере такое не сделать.. хотя можно подделать куки...
  • ArkadiyArkadiy Октябрь 2011
    в строку запроса <?php echo josSpoofValue(); ?>=1
    или в форму <input type="hidden" name="<?php echo josSpoofValue(); ?>" value="1" />
    На принимающей стороне просто josSpoofCheck();
  • GoDrGoDr Октябрь 2011
    а что мешает посмотреть форму и вставить ручками значение из hidden?
  • ArkadiyArkadiy Октябрь 2011
    Возможно через гет я ошибся, может только постом передается.
  • GoDrGoDr Октябрь 2011
    всё равно не могу понять смысл.. Что делают эти функции и как их применить? :)
  • ArkadiyArkadiy Октябрь 2011
    Первая дает комбинацию букв и цифр по какому-то алгоритму, вторая проверяет эту комбинацию и в случае нормальной проверки пускает скрипт дальше, в случае ошибки прерывает выполнение скрипта.
  • ArkadiyArkadiy Октябрь 2011
    Применить - первую в форму, вторую в функцию, принимающую форму для сохранения.
  • ArkadiyArkadiy Октябрь 2011
    посмотри как в джустине они применяются, так понятнее будет.
  • GoDrGoDr Октябрь 2011
    ок.. буду разбираться...
  • bostonboston Октябрь 2011
    Можно непосредственно в ход добавить провреку что запрос идёт через Ajax, это можно посмотреть в массиве $_SERVER[], или взять готовое решение:
    https://github.com/joostina/joostina/blob/master/core/libraries/request.php#L226 - функция is_ajax()
  • GoDrGoDr Октябрь 2011
    интересный вариант, проверю..

Добро пожаловать!

Похоже, что Вы здесь впервые. Если хотите поучаствовать, нажмите на одну из этих кнопок!

Войти Зарегистрироваться

В теме отметились