Перейти к основному содержимому

17. Безопасность

В чём разница между хешированием и шифрованием?​

Junior

Ответ:

  • Хеширование: Односторонняя функция, которая создаёт строку фиксированной длины из входных данных. Обратное преобразование невозможно (например, password_hash).
  • Шифрование: Двусторонняя функция, при которой данные можно преобразовать в шифротекст, а затем расшифровать обратно в открытый текст с помощью ключа.

Почему при хешировании паролей используется «соль» (Salt)?​

Junior

Ответ: Чтобы помешать злоумышленникам использовать предвычисленные таблицы (например, Rainbow Tables) для взлома паролей. Уникальная соль добавляется к каждому паролю перед хешированием.


В чём разница между htmlspecialchars и strip_tags?​

Junior

Ответ:

  • htmlspecialchars(): Преобразует специальные символы (такие как <, >, &) в HTML-сущности (например, &lt;, &gt;, &amp;). Это предотвращает их интерпретацию браузером как HTML/JS, но сохраняет исходный текст для отображения.
  • strip_tags(): Удаляет все HTML- и PHP-теги из строки. Более деструктивный метод, который используется, когда нужен только простой текст.

Что такое SQL-инъекция и как её предотвратить?​

Middle

Ответ: Уязвимость, при которой злоумышленник может выполнить вредоносные SQL-запросы. Предотвращается использованием подготовленных выражений (prepared statements) и параметризованных запросов.


Что такое XSS (Cross-Site Scripting) и как его предотвратить?​

Middle

Ответ: Атака, при которой вредоносные скрипты внедряются в веб-страницы. Предотвращается экранированием вывода (с помощью htmlspecialchars) и очисткой пользовательского ввода.


Что такое CSRF (Cross-Site Request Forgery) и как его предотвратить?​

Middle

Ответ: Атака, которая вынуждает аутентифицированного пользователя выполнить нежелательные действия в веб-приложении. Предотвращается с помощью CSRF-токенов.


Что такое JWT (JSON Web Token)?​

Middle

Ответ: Компактный, безопасный для URL формат представления утверждений (claims), передаваемых между двумя сторонами. Часто используется для аутентификации без сохранения состояния (stateless authentication).


Что такое OWASP Top 10?​

Senior

Ответ: Стандартный документ для разработчиков и специалистов по безопасности веб-приложений, представляющий широкий консенсус относительно наиболее критичных рисков безопасности для веб-приложений.