Рішення проблеми 419 Page Expired у Laravel на Termux

Рішення проблеми 419 Page Expired у Laravel на Termux

6 Березня 2024 в 20:37 25

У разрізі розробки веб-додатків на фреймворку Laravel виникають різноманітні проблеми, які можуть бути пов’язані з різними аспектами налаштування середовища виконання. Одна з таких проблем – відображення помилки 419 Page Expired при спробі запуску додатку на Termux. Ця помилка може стати перешкодою для успішного виконання запитів, особливо коли проект працює бездоганно на інших операційних системах, таких як Windows 10 або Ubuntu.

Причиною цієї помилки може бути спосіб, яким Termux обробляє сесії та токени CSRF. Termux, як емулятор терміналу для Android, має певні обмеження та конфігурації, які відрізняються від традиційних веб-серверів.

Одним із можливих рішень цієї проблеми є модифікація файлу app/Http/Controllers/MediaController.php для ручної обробки токена CSRF у вашому методі hasil:

Цей код ручно перевіряє токен CSRF, наданий формою, і порівнює його з токеном, збереженим у сесії. Якщо вони не співпадають, запит припиняється зі статусом 419, запобігаючи помилці “Сторінка застаріла”.

Не забудьте імпортувати фасад Session у верхній частині вашого файлу контролера:

Після внесення цих змін ваш проект Laravel, що працює на Termux, повинен здатися заявки без помилки 419 Page Expired.

Переконайтеся, що тестуєте свою програму належним чином, щоб переконатися, що проблему вирішено задовільно. Успішної розробки!