Перейти к содержанию

Активность

Лента обновляется автоматически

  1. Ещё раньше
  2. Уязвимости OpenSSH В мире кибербезопасности каждый день появляются новые вызовы, и исследователи из Qualys Security Advisory недавно выявили две серьезные уязвимости, связанные с популярным инструментом OpenSSH. Давайте разберемся, что именно было обнаружено и как это может повлиять на вас и вашу инфраструктуру. Атака типа MitM (Man-in-the-Middle) Представьте себе ситуацию: вы пытаетесь подключиться к своему серверу, и злоумышленник, находящийся между вами и сервером, смог выдать себя за него. Это возможно благодаря уязвимости в OpenSSH, связанной с опцией VerifyHostKeyDNS. Хотя по умолчанию эта опция отключена, она может быть включена в некоторых системах (например, FreeBSD). При активированной проверке, атакующий может обойти все проверки идентичности сервера, что ставит под угрозу безопасность ваших данных. Атака DoS (Denial of Service) Но это ещё не всё! Открытая возможность для DoS-атак может вызвать недоступность вашего сервиса как для клиента, так и для сервера. Здесь злоумышленники могут использовать метод, при котором клиент будет активно запрашивать сервер, что создаст ненужную нагрузку на ресурсы и может привести к исчерпанию памяти или процессора. Это ненадолго, но достаточно, чтобы вызвать серьезные перебои в работе вашего бизнеса. Что делать? Обновите OpenSSH до последних версий! Это важно не только для исправления найденных уязвимостей, но также для получения дополнительных функций безопасности. Кроме того, внедряйте встроенные механизмы защиты, такие как LoginGraceTime и MaxStartups, чтобы минимизировать риски атак. Источник
  3. В этом треде публикуются посты, на которые стоит обратить внимание, если вы следите за миром ИБ
  4. TechnoViking

    Changelog

    История изменений
  5. На странице создания нового атома нет кнопки для форматирования кода, хотя она есть в Lua dev
  6. Для этого достаточно пройтись в цикле по всем элементам local keys={} for key in pairs(t) do table.insert(keys, key) end После этого в таблице keys будут ключи из таблицы t
  7. Приветствую! Подскажите как получить список ключей из таблицы lua. Заполняю так local t = {} t[1]='первое значение' t[2]='второе значение' t[3]='третье значение' Хочу получить на выходе вторую таблицу: {1,2,3}
  8. Работа с большими таблицами требует внимательного отношения к методам доступа и управления данными, так как это может существенно влиять на производительность и потребление памяти. Вот несколько стратегий для оптимизации: Предварительное выделение памяти: Lua динамически расширяет таблицы по мере добавления новых элементов, что может быть дорогостоящим. Если вы знаете предполагаемый размер таблицы, можно заранее выделить нужное количество памяти. -- Создаем таблицу с заранее выделенным размером local t = {} for i = 1, 1000 do t[i] = 0 end Использование массивоподобных таблиц: Доступ к элементам массивоподобных таблиц (последовательные числовые индексы) быстрее, чем доступ к сложным таблицам с разреженными индексами или строками в качестве ключей. -- Пример массивоподобной таблицы local arr = {1, 2, 3, 4, 5} Применение метатаблиц для кастомизированного поведения: Метатаблицы могут использоваться для перехвата операций, таких как доступ к элементам или их модификация. Это может улучшить производительность за счет оптимизации стандартных операций. local mt = { __index = function(table, key) -- Обработка отсутствующих элементов return 0 end } local t = {} setmetatable(t, mt) Избегание частого создания и удаления таблиц: Постоянное создание и удаление таблиц может привести к фрагментации памяти. Вместо этого старайтесь переиспользовать таблицы. local pool = {} for i = 1, 100 do pool[#pool + 1] = {} -- Предварительное создание пула таблиц end -- Получаем таблицу из пула local function getTable() return table.remove(pool, #pool) end -- Возвращаем таблицу в пул local function returnTable(t) table.insert(pool, t) end Использование специализированных структур данных: Если задача требует специфических операций с данными, попробуйте использовать специальные структуры данных, такие как связные списки или бинарные деревья, вместо стандартных таблиц. Периодическая очистка таблиц: Частицы данных в таблицах, которые больше не нужны, должны удаляться как можно скорее, чтобы освободить память. local t = {1, 2, 3, 4, 5} for i = #t, 1, -1 do if t[i] == 3 then table.remove(t, i) end end Оптимизация работы с таблицами в Lua требует тщательного анализа конкретной задачи и сценариев использования. Использование перечисленных методов в зависимости от контекста поможет уменьшить потребление памяти и повысить производительность кода.
  9. Здравствуйте! Часто работаю с большими объемами данных в таблицах луа. Хотелось бы услышать рекомендации по оптимизации памяти и скорости работы. Заранее спасибо
  1. Загрузить ещё активность
×
×
  • Создать...