1. Сначала сделайте простой запрос (без авторизации) для получения произвольного кода (на сервере генерируем случайный ключ и возвращаем)
2. Полученный ключ (code) кодируем на клиенте через SHA256 (code+username+password)
3. Делаем запрос авторизации отправляя шифрованный код
4. На Сервере проверяем в базе комбинацию SHA256(ключ+полеUSER+полеPASSWORD). Если нашли - Вуаля! и убиваем ключ
Таким образом будет отправляться всегда новый код для авторизации и снифферы не уловят ваши данные.
SELECT `item_id`, ...
FROM `items_table` AS t1
LEFT JOIN `shown_table` AS t2 on t1.`item_id`=t2.`shown_id`
WHERE [сложное условие для поиска]
AND t2.`user_id`=$user_id AND t2.`item_id` IS NULL
LIMIT 1;