Это ни то, ни другое. Опишу на примере сферы программирования. Защита от дурака - это реализация обработчиков действий таким образом, чтобы никакие, сколь угодно отличные от подразумеваемых разработчиком действия пользователя не привели к сбою программного обеспечения, а также к утере или повреждению ранее сохранённых данных. Например, если имеется поле для ввода определённых символов, и при этом проверка уже после ввода символа нежелательна (требуется вообще не допускать неверный ввод), тогда защита от дурака включает в себя не только проверку вводимого символа, но также и полную проверку при попытке вставки из буфера обмена, и попытки проделать это средствами WinAPI. Корректный ввод может сделать некорректным не сам пользователь, а, к примеру, сервис автокоррекции раскладки клавиатуры - противодействие этому тоже является частью защиты от дурака.