Комментарии 5
Спасибо!
Но, может быть, вы имели в виду, что CORS — это механизм, как раз разрешающий обращаться к ресурсам на других доменах?
Но, может быть, вы имели в виду, что CORS — это механизм, как раз разрешающий обращаться к ресурсам на других доменах?
0
Спасибо за комментарий. wp_nonce упомянуто вот тут:
>> Существует функция check_ajax_referer, которая проверяет реферера (проверяет, откуда произошел запрос) и прерывает выполнение, если реферер какой-то «не такой». Эта функция умеет также проверять nonce. Подробнее можно почитать в соответствующей статье кодекса.
Сначала собирался подробно расписать о применении wp_nonce, но потом решил, что статья, все-таки, про AJAX а не про возможные способы защиты AJAX-бэкенда и ограничился упоминанием предназначенной для этого функции check_ajax_referer (даже оставил ссылку для интересующихся)
А вообще Всяческие number-at-once и контрольные суммы в AJAX-запросах в контексте WP — это тема, достойная отдельной статьи. Если есть интерес — в свободное время с удовольствием напишу/расскажу об этом ;-)
>> Существует функция check_ajax_referer, которая проверяет реферера (проверяет, откуда произошел запрос) и прерывает выполнение, если реферер какой-то «не такой». Эта функция умеет также проверять nonce. Подробнее можно почитать в соответствующей статье кодекса.
Сначала собирался подробно расписать о применении wp_nonce, но потом решил, что статья, все-таки, про AJAX а не про возможные способы защиты AJAX-бэкенда и ограничился упоминанием предназначенной для этого функции check_ajax_referer (даже оставил ссылку для интересующихся)
А вообще Всяческие number-at-once и контрольные суммы в AJAX-запросах в контексте WP — это тема, достойная отдельной статьи. Если есть интерес — в свободное время с удовольствием напишу/расскажу об этом ;-)
0
О, для меня это была больная тема, пока я не перевёл свой удобный класс для работы с AJAX под WP и не оформил его как плагин. Теперь никаких запарок — ставлю плагин и вперёд. Обращение из js выглядит так
обработчик в php выглядит так
Теперь геморрой, связанный с правильной обработкой ajax в wordpress позади, можно создавать сколь угодно сложные ajax-приложения и не париться насчёт обработки ошибок, кодирования многомерных массивов и проч и т.д. В общем очень удобно.
Всё это GPL и лежит тут: https://wordpress.org/plugins/ajax-manufactory/ Рекомендую попробовать, критика принимается.
var data = {
... некие данные ...
};
jxAction('название экшена', data);
обработчик в php выглядит так
add_action('jx_название экшена', function($jx){
$data = $jx->data;
.. обработка ...
$jx->alert('Выдаём alert на стороне клиента');
$jx->variable('varname', 'Задаём значение переменной js на стороне клиента');
$jx->call('myfunc', array('Запускаем функцию js с заданными параметрами'));
$jx->... есть ещё пяток полезных методов
});
Теперь геморрой, связанный с правильной обработкой ajax в wordpress позади, можно создавать сколь угодно сложные ajax-приложения и не париться насчёт обработки ошибок, кодирования многомерных массивов и проч и т.д. В общем очень удобно.
Всё это GPL и лежит тут: https://wordpress.org/plugins/ajax-manufactory/ Рекомендую попробовать, критика принимается.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Использование AJAX-обработчика WordPress