Intereting Posts
Как получить последнее сообщение родительского сообщения сообщения в настраиваемом типе сообщений имеют один и тот же контент в интерфейсе Использовать данные параметров из URL-адреса в WooCommerce Checkout Развертывание WordPress для клиентов – к чему они имеют доступ? Как перечислить события по категориям и месяцам с помощью плагина Event Organizer? Пользовательские query_vars и parse_request на wp-admin как обновить и отобразить опцию без перезагрузки страницы Импорт WordPress не извлекает изображения, а просто связывает их Двадцать одиннадцать: домашняя страница, Посмотреть полное сообщение из последних сообщений и резюме остального Получить категории по названию потомка почему этот медиа-запрос не работает / не загружается, когда я помещаю его в дочернюю тему? Добавить / удалить действие CRON в зависимости от переменной Форма плагина Представление admin-ajax.php вместо admin-post.php Сделать пользователем как вкладчик по умолчанию для всех записей в блогах динамически создавать функции обратного вызова внутри цикла for

Безопасность для удаления сообщения Admin

Мой код настолько прост, как когда администратор удаляет сообщение с помощью WordPress fucntion (PHP) и выполняет действия с jQuery

<?php include('../../../../../../wp-config.php'); if(current_user_can('edit_posts')){ $id = $_POST['ID']; wp_delete_post($id); }else{die();} ?> 

Это мой код, что вы думаете о безопасности? достаточно ?

Solutions Collecting From Web of "Безопасность для удаления сообщения Admin"

Сначала прочитайте что-нибудь о WordPress Ajax API и о ролях и возможностях – возможность «edit_posts» имеет даже Contributor . Я бы предложил проверить «delete_others_posts», чтобы доказать, что пользователь по крайней мере является редактором. Или используйте возможности «manage_options» (имеет Administrator, а не Editor).

Кроме того, существует функция проверки ajax referer, чтобы вы могли предотвратить внесение записей вне вашего веб-сайта. Узнайте больше о nonces .

Вот пример из кода на использование nonces, когда в AJAX:

В вашем основном файле установите значение nonce следующим образом:

 <script type="text/javascript"> jQuery(document).ready(function($){ var data = { action: 'my_action', security: '<?php echo $ajax_nonce; ?>', my_string: 'Hello World!' }; $.post(ajaxurl, data, function(response) { alert("Response: " + response); }); }); </script> 

В вашем файле ajax проверьте реферер следующим образом:

 add_action( 'wp_ajax_my_action', 'my_action_function' ); function my_action_function() { check_ajax_referer( 'my-special-string', 'security' ); echo $_POST['my_string']; die; }