• Как убрать знак вопроса из form-ссылки?

    gds1
    @gds1
    Пыха - это наше всё)))
    знак вопроса - начало передачи параметров через GET. укажите как показано выше method="post", и никакого "?" не будет.
    Ответ написан
  • Как убрать знак вопроса из form-ссылки?

    Lumore
    @Lumore
    Front-end developer
    <form action="/page" method="post">
        <button type="submit">Кнопка-ссылка</button>
    </form>
    Ответ написан
  • Какие Вы знаете видеоплееры с полезным ускорение воспроизведения 2х?

    @freeskateonly
    Краток
    Попробуй VLK плеер. Только что сам установил и проверил. Отлично работает!

    Правая кнопка по видео - Воспроизведение - Скорость - Быстрее
    Ответ написан
  • Как удалить раздел в gparted?

    slo_nik
    @slo_nik
    Добрый день.
    Для начала надо "отмонтировать" раздел, а потом производить какие либо действия.
    Судя по скриншоту у Вас все разделы "монтированы".
    Ответ написан
  • Как удалить раздел в gparted?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Перед проведением манипуляций с разделом его нужно размонтировать:)
    Ответ написан
  • Как удалить раздел в gparted?

    @estj
    prepodavatel Vuza po background programming
    учтите, разделы разнотипные -- первичный и экстендед, вам точно нужно один большой первичный?
    Если так, то после размонтировки ткните аккуратно в циановую рамочку правой кнопкой мыши ....
    Ответ написан
  • Как сделать AJAX запрос безопасным?

    @cluberr
    Защита: используем nonce и проверяем права

    Нет острой необходимости проверять AJAX запрос, если он потенциально не опасный. Например, когда он просто получает какие-то данные. Но когда запрос удаляет или обновляет данные, то его просто необходимо дополнительно защитить с помощью nonce кода и проверкой прав доступа.

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

    Существует два вида защиты, которые нужно использовать в AJAX запросах в большинстве случаев.

    1. Код nonce (случайный код)

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

    В WordPress есть функции wp_create_nonce() и check_ajax_referer() - это базовые функции для создания и последующей проверки nonce кода. С их помощью мы и будем создавать защиту nonce для AJAX запросов.

    Для начала создадим nonce код:

    add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
    function myajax_data(){
    
    	wp_localize_script('twentyfifteen-script', 'myajax', 
    		array(
    			'url' => admin_url('admin-ajax.php'),
    			'nonce' => wp_create_nonce('myajax-nonce')
    		)
    	);  
    
    }

    twentyfifteen-script это название основного скрипта темы (см. выше), который подключается на сайте с помощью wp_enqueue_script().

    Затем, в AJAX запросе добавим переменную с кодом nonce:

    var ajaxdata = {
    	action     : 'myajax-submit',
    	nonce_code : myajax.nonce
    };
    jQuery.post( myajax.url, ajaxdata, function( response ) {
    	alert( response );
    });

    Теперь, в обработке заброса необходимо проверить nonce код:

    add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
    add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
    function myajax_submit(){
    	// проверяем nonce код, если проверка не пройдена прерываем обработку
    	check_ajax_referer( 'myajax-nonce', 'nonce_code' );
    	// или так
    	if( ! wp_verify_nonce( $_POST['nonce_code'], 'myajax-nonce' ) ) die( 'Stop!');
    
    	// обрабатываем данные и возвращаем
    	echo 'Возвращаемые данные';
    
    	// не забываем завершать PHP
    	wp_die();
    }

    check_ajax_referer()работает на основе функции wp_verify_nonce() и по сути является её оберткой для AJAX запросов.
    Обратите внимание, что в данном случае Nonce код создается в HTML коде. А это значит, если у вас установлен плагин страничного кэширования, то этот код может и наверняка будет устаревать к моменту очередного AJAX запроса.
    2. Проверка прав доступа

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

    Особенность тут в том, что не авторизованные пользователи тоже должны видеть сообщение об ошибке при AJAX запросе. Для этого нужно обрабатывать запрос для них возвратом ошибки:

    add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
    add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
    function myajax_submit(){
    	// проверяем nonce код, если проверка не пройдена прерываем обработку
    	check_ajax_referer( 'myajax-nonce', 'nonce_code' );
    
    	// текущий пользователь имеет права автора или выше
    	if( ! current_user_can('publish_posts') )
    		die('Этот запрос доступен пользователям с правом автора или выше.')
    
    	// Делаем что нужно и выводим данные на экран, чтобы вернуть их скрипту
    
    	// Не забываем выходить
    	wp_die();
    }
    Ответ написан
  • Как сделать AJAX запрос безопасным?

    @dady_KK
    PM
    CSRF - почитайте про это, именно этот тип атак Вы описали в вопросе, для защиты используют обычно уникальные токены, которые рандомно меняются при каждом посещении (каждом просмотре страницы) и проверяются бекендом (совпал токен или нет). Таким образом чтобы запрос был успешно обработан в форме должен быть правильный токен для этого конкретного посещения
    Ответ написан