В фреймворке PyQt (и PySide тоже) часто встречается настройка чего-либо с помощью так называемых флагов.
widget.setWindowFlags(Qt.Window)
Взаимодействие нескольких флагов делается с помощью бинарных (или побитовых) операторов.
Несколько флагов можно указать с помощью оператора "|"
list_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
исключить флаг из уже имеющегося набора можно так
list_item.setFlags(list_item.flags() ^ Qt.ItemIsEnabled)
Добавить новый флаг к имеющимся можно так
list_item.setFlags(list_item.flags() | Qt.ItemIsEnabled)
А проверка наличия делается так
is_enabled = item.flags() & Qt.ItemIsEnabled > 0
Почему именно так? Всё дело в том как именно работают побитовые операторы. Но об этом в следующем посте.
#qt
#AESinfo | #Mali🇲🇱🤝🇹🇩#Belgique
Assistance Humanitaire au Mali : La Belgique débloque 3 millions d'euros soit environ 2 milliards de FCFA.
Pour soutenir l'assistance humanitaire au Mali, le Royaume de Belgique, à travers le Programme Alimentaire Mondial #PAM, a contribué à hauteur de 3 millions d’euros (environ 2 milliards de FCFA).
Hier mardi 26 novembre 2024, une cérémonie de reconnaissance a été organisée par le #PAM au Commissariat à la Sécurité Alimentaire.
Source : L'ESSOR
👨💻 Как PAM-модуль позволил получить доступ к БД.
• В критичных базах PostgreSQL во внутренней инфраструктуре часто применяют внешнюю аутентификацию через PAM-модуль. Это позволяет реализовать ротацию паролей и ролевую модель на основе LDAP (AD), что при корректной настройке значительно повышает уровень защищённости.
• Авторы данного материала столкнулись с ситуацией, когда в подобной схеме аутентификации не были учтены все потенциальные векторы атаки. В результате им удалось получить доступ к PostgreSQL с высокими привилегиями. В этой статье подробно разобраны ошибки конфигурации, которые привели к компрометации БД, а также описана последовательность эксплуатации.
➡️https://blog.deteact.ru/pam-modul
#Пентест#PostgreSQL#PAM