17. Безопасность
В чём разница между хешированием и шифрованием?
JuniorОтвет:
- Хеширование: Односторонняя функция, которая создаёт строку фиксированной длины из входных данных. Обратное преобразование невозможно (например,
password_hash). - Шифрование: Двусторонняя функция, при которой данные можно преобразовать в шифротекст, а затем расшифровать обратно в открытый текст с помощью ключа.
Почему при хешировании паролей используется «соль» (Salt)?
JuniorОтвет: Чтобы помешать злоумышленникам использовать предвычисленные таблицы (например, Rainbow Tables) для взлома паролей. Уникальная соль добавляется к каждому паролю перед хешированием.
В чём разница между htmlspecialchars и strip_tags?
Junior
Ответ:
htmlspecialchars(): Преобразует специальные символы (такие как<,>,&) в HTML-сущности (например,<,>,&). Это предотвращает их интерпретацию браузером как HTML/JS, но сохраняет исходный текст для отображения.strip_tags(): Удаляет все HTML- и PHP-теги из строки. Более деструктивный метод, который используется, когда нужен только простой текст.
Что такое SQL-инъекция и как её предотвратить?
MiddleОтвет: Уязвимость, при которой злоумышленник может выполнить вредоносные SQL-запросы. Предотвращается использованием подготовленных выражений (prepared statements) и параметризованных запросов.