Попробуйте выполнить следующее:
add_filter( 'woocommerce_product_related_posts_query', 'alter_product_related_posts_query', 10, 3 );
function alter_product_related_posts_query( $query, $product_id, $args ){
global $wpdb;
$query['join'] .= " INNER JOIN {$wpdb->postmeta} as pm ON p.ID = pm.post_id ";
$query['where'] .= " AND pm.meta_key = '_stock_status' AND meta_value = 'instock' ";
return $query;
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Я надеюсь, что это работает.
Простой ответ: №.
Это было проверено и упомянуто в вики-ссылке.
Атака по связанному ключу может прерваться до 9 раунды 256-битного AES. Выбранный открытый текст может сломать 8 раунды 192- и 256-битного AES и 7 раунды 128-битного AES, хотя рабочая нагрузка нецелесообразна при 2 128 - 2 119 .
Или, говоря иначе: у вас больше шансов получить удар от освещения ... в тот же день, когда вы выиграете в лотерею, чем разбьете ее!
Это называется атака известного открытого текста . Как объяснили другие, хороший шифр, такой как AES, должен быть защищен от него.
Вы можете использовать его грубо, но это займет много времени. Как в десятилетия или даже дольше. В этом суть алгоритмов шифрования, таких как AES.
AES, как и все хорошие криптоалгоритмы, не полагается на безопасность через неизвестность .
Другими словами, в коде нет «секретов», так что наличие кода не поможет вам особенно.
Известный открытый текст - это отдельная проблема, о которой я мало что знаю, поэтому я оставлю это другим ответчикам.
Другая цитата из Википедии :
AES разрешает использование 256-битных ключей. Взлом симметричного 256-битного ключа грубая сила требует в 2 ^ 128 раз больше вычислительная мощность, чем 128-битная ключ. Устройство, которое может проверить миллиард миллиардов (10 ^ 18) ключей AES за второй потребуется около 3 х 10 ^ 51 год, чтобы исчерпать 256-битный клавиша пробела.
Грубое принуждение, когда вы знаете, что оригинальный текст может быть быстрее, но все же, 3 х 10 ^ 51 лет - это долго. Кроме того, существует проблема, вероятно, отсутствия устройства, которое может проверять миллиард миллиардов (10 ^ 18) ключей в секунду.
Короче говоря, : все возможно, но это невозможно в мире, в котором мы сейчас живем. дюйма
Если $ pass
на самом деле является паролем, а не 256-битным ключом, возможно, вам повезло.
Хотя это далеко не тривиально, атака методом «грубой силы» по обычному паролю намного быстрее, чем 256-битный ключ с использованием грубой обработки.
Так что измените один из многих инструментов, применяющих грубую обработку пароля, и вы получите атака, которая (в зависимости от надежности пароля) может занять от нескольких недель до нескольких лет, но это быстро по сравнению с 3x10 ^ 51 годами ...
Конечно, нет - единственный подход - грубая сила. Вы действительно думаете, что NIST настолько глуп, что выбирает шифр, который так легко взломать для нового стандарта?