@Aidark

Безопасен ли WP API 2 с точки зрения манипуляций с JS в браузере?

К примеру добавляем post по ссылке /wp/v2/posts
При этом хотим, что бы запись ушла сперва на премодерацию:
status: 'pending'

Может ли злоумышленник простой правкой исходников на своей стороне изменить строку на:
status: 'publish' ?


Если да - то как этого избежать?

Пример кода
var data = {
            title: title,
           content: content,
	   status: 'pending' // Возможна правка клиентом на status: 'publish' ?
        };
$.ajax({
            method: "POST",
            url: 'http://example.com/wp/v2/posts',
            data: data,
            beforeSend: function ( xhr ) {
                xhr.setRequestHeader( 'X-WP-Nonce', api.nonce );
            }
         });
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Во-первых, статус передавать не надо, пусть WordPress на своей стороне смотрит capabilities пользователя.
Во-вторых, передавайте пользователя, и именно для него capabilities должны быть ограничены, как для автора (role author). Почитайте тут.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Aidark Автор вопроса
Можно ли считать это решением для frontend posting без регистрации?
functions.php :
enqueue script some-js
wp_localize_script( 'some-js', 'FRONT_END', array(
			'root' => esc_url_raw( rest_url() ),
			'nonce' => wp_create_nonce( 'wp_rest' ),
		        'current_user_id' => // ID конкретного пользователя созданного для публикации из фронтенда?
		)
	);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы