и посмотреть медиа
PHP | Вопросы собесов
и посмотреть медиа
Вопросы собеседований по PHP с ответами.
Вопросы собеседований по PHP с ответами.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Типичные вопросы по PHP: фреймворки, базы данных, безопасность. Разбор с кодом для подготовки.
🤔 Какие виды уязвимости знаешь? В веб-разработке существует множество уязвимостей, но самые распространенные SQL-инъекции (SQL Injection) Межсайтовый скриптинг (XSS – Cross-Site Scripting) Межсайтовая подделка запросов (CSRF – Cross-Site Request Forgery) Ошибки аутентификации и управления сессиями Необработанные пользовательские данные Доступ к файлам и директориям (LFI/RFI – Local/Remote File Inclusion) Ошибки конфигурации сервера и утечки данных 🟠SQL-инъекции (SQL Injection) Атака, при которой злоумышленник вставляет вредоносный SQL-код в запрос, получая доступ к БД. Чтение / изменение данных Удаление таблиц Получение паролей пользователей Используем подготовленные запросы (Prepared Statements) $db = new PDO("mysql:host=localhost;dbname=test", "root", "password"); $stmt = $db->prepare("SELECT * FROM users WHERE email = :email"); $stmt->execute([':email' => $_POST['email']]); $user = $stmt->fetch(); 🟠Межсайтовый скриптинг (XSS – Cross-Site Scripting) Атака, при которой злоумышленник вставляет вредоносный JavaScript в веб-страницу. Кража cookies и сеансов Изменение содержимого страницы Фишинг Очистка данных перед выводом echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8'); 🟠Межсайтовая подделка запросов (CSRF – Cross-Site Request Forgery) Злоумышленник заставляет пользователя выполнить нежелательный запрос от его имени (например, перевести деньги). Изменение данных без ведома пользователя Подмена учетных записей Используем CSRF-токены $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); При отправке формы проверяем if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) { die("CSRF атака!"); } 🟠Ошибки аутентификации и управления сессиями Если пароли хранятся неправильно или сессии уязвимы, злоумышленник может перехватить учетную запись пользователя. Кража пароля Перехват сессии Храним пароли с password_hash(), а не в открытом виде: $hash = password_hash("mypassword", PASSWORD_BCRYPT); 🟠Необработанные пользовательские данные Приложение принимает и использует входные данные без проверки. Возможность загрузки вредоносных файлов Выполнение вредоносного кода Проверяем загружаемые файлы (MIME-тип, расширение) Используем валидацию данных: $email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL); 🟠Доступ к файлам и директориям (LFI/RFI) Злоумышленник может загружать и выполнять опасные файлы через параметры в URL. Выполнение кода на сервере Чтение конфиденциальных файлов Запрещаем прямую загрузку файлов: $whitelist = ['jpg', 'png', 'gif']; $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); if (!in_array($ext, $whitelist)) { die("Недопустимый файл!"); } 🟠Ошибки конфигурации сервера и утечки данных Если сервер настроен неправильно, можно случайно раскрыть важные данные. Вывод ошибок PHP в браузере Доступ к файлам .env, config.php Отключаем display_errors в php.ini: display_errors = Off Защищаем файлы .env через .htaccess Order allow,deny Deny from all Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
The official 11Wallet channel for news and updates of the crypto wallet in Telegram.
Reviews and information about vintage audio equipment.
Service for the sale, redemption and exchange of original Apple equipment. Quality electronics at competitive prices in a convenient format.