Веб-программинг

Интересное и полезное про Php, фреймворк Yii1 и Yii2.
Использую Php, JS, Jquery, Angular, Bootstrap, MySQL, Docker, Git, Trello, Nginx и Apache.
Интегрирую API Яндекса, Google, PayPal, Fb, Vk, GeoNames, Robokassa.

Как побороть ошибку Bad Request (#400): Не удалось проверить переданные данные

Такая ошибка часто возникает в случае асинхронного запроса. Все дело в том, что где-то в родительском контроллере включена проверка на Csrf.

Если в текущем контроллере отключить валидацию нельзя (н-р, из-за того, что другие методы этого класса нуждаются в этой проверке), то можно реализовать новый контроллер:

namespace app\controllers;


use Yii;
use yii\web\Controller;
use yii\filters\VerbFilter;

class NewController extends Controller
{
    public $enableCsrfValidation = false;

    public function behaviors()
    {
        return [
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'delete' => ['POST'],
                ],
            ],
        ];
    }
    
    ...
}

Вас как раз должно интересовать свойство $enableCsrfValidation.

3 мая   json   php   yii2

Размер директорий в консоли Linux

Если в консоли доступен MC, то мы можем посмотреть и увидеть следующее:

размеры показываются только для файлов.

Если недоступен MC (например, на продакшн сервере), то нам поможет команда:

ls -la

Правда, ни в первом, ни во втором случае мы не видим размеров вложенных директорий.
А достаточно выполнить следующую команду, которая не только укажет размер, но и отсортирует вложенные директории по убыванию:

du -sh * | sort -hr

Выглядеть это будет так:

13 апреля   linux

Установка KeePass менеджер паролей в Linux

Хороший менеджер паролей, как-то сразу мне полюбился своей простотой, кроссплатформенностью и свободной лицензией. Подробнее можете почитать на Википедии.

Ставим так:

sudo apt-add-repository ppa:jtaylor/keepass
sudo apt-get update
sudo apt install keepass2

Из основных преимуществ можно назвать следующее:
1). Пароли шифруются и хранятся локально (саму зашифрованную базу можно перенести на другой компьютер)
2). Есть автонабор логина-пароля в любом браузере. Т. е. не надо копировать-вставлять, просто нажали Ctrl+V и форма заполнена :)
3). Можно использовать портативную версию, т. е. на флешке
4). Встроенный генератор паролей, возможность настройки использования спец.символов, альфанумерика и т. д.

5). Проверка сложности пароля, очень удобный инструмент

6). Присутствует напоминание об обновлении пароля. время можно для каждого пароля установить индивидуально
7). И многое другое, заходите на их сайт и изучайте.

Всем удачи и помните про безопасность в сети!


P.S. Добавим индикатор KeePass в трей:

sudo add-apt-repository ppa:dlech/keepass2-plugins
sudo apt update
sudo apt install keepass2-plugin-application-indicator

P.P.S. Также установим библиотеку для автоматического набора логина-пароля:

sudo apt install xdotool

Linux Mint 18 Cinnamon: исчезли все пункты меню

Столкнулся сегодня с тем, что в какой-то момент у меня сломалось меню на Linux Mint 18 Cinnamon. Перестали отображаться все приложения. Оно конечно не критично, .к. любое приложение можно и из консоли запустить, но приятного мало. Потому было принято решение это исправить. Данная проблема возникала не только у меня, но только одно решение помогло и оно такое:

  1. Открываем файл «/usr/lib/linuxmint/mintMenu/plugins/easybuttons.py» на редактирование:
sudo nano /usr/lib/linuxmint/mintMenu/plugins/easybuttons.py

Находим быстрым поиском через «Ctrl + w» строку:

c = c_char_p(iconName.encode('ascii', 'ignore'))
  1. Необходимо заменить эту строку на:
c = c_char_p(iconName.decode('utf8', 'ignore').encode('ascii', 'ignore'))
  1. Делаем рестарт и все ок)
16 марта   cinnamon   linux mint   mintMenu
Ctrl + ↓ Ранее