Перш ніж додавати ще більше переписування до завантажувача на PHP, виберіть, куди має йти наступний ресурс. Документ, завантажений з https://destination.example/catalog/ і повернутий на https://viewer.example/browse?url=..., може містити:

<img src="photo.jpg">
<a href="details/42">Details</a>

Браузер розв'язує ці посилання за допомогою документа, отриманого в переглядачі. Те, що PHP завантажив початкові байти, не встановлює віддалену базу.

Елемент base може спрямовувати відносні URL до призначення, але ці запити можуть потім іти безпосередньо з браузера до призначення. Щоб натомість провести кожен запит через PHP, потрібні проксі-URL і ширша модель маршрутизації:

Ресурс або діяПотрібна обробка
Посилання та зображенняРозв'яжіть їх щодо віддаленого документа і створіть потрібний маршрут
Імпорт CSS і ресурсиВикористовуйте віддалену базу таблиці стилів
ФормиЗбережіть метод і надіслані дані
ПеренаправленняТримайте навігацію в дозволеній моделі
Запити, створені скриптамиОбробляйте URL, відсутні у вихідному HTML

Кілька замін регулярними виразами не можуть обіцяти загальну сумісність із сайтами, насиченими скриптами. Для відомого публічного документа може бути достатньо вимкнути навігацію, дозволити прямі посилання або спрямувати підтримувану підмножину через переглядач. Зберігайте фактичні типи медіа, а не вважайте кожну відповідь HTML.

Повернення недовіреного розмічування з вашого домену також дає йому браузерне походження переглядача, а не ідентичність завантаженого сайту. Ізолюйте ці документи від сторінок облікового запису та адміністрування. Визначте віддалені cookie для кожного відвідувача, дозволені заголовки для пересилання та цілі перенаправлення; спільна банка cookie може змішувати віддалені входи.

Зафіксуйте цю межу підтримки, перш ніж пропонувати сеанс перегляду. Для звичайного перегляду через інший вихід власний проксі-інтерфейс браузера, наприклад налаштування HTTP/SOCKS у Firefox, зберігає цільовий URL і модель походження браузера без потреби в цьому шарі завантаження й повторної публікації. Для окремого тесту публічного сайту список безкоштовних проксі дає кандидатів у кінцеві точки; узгодьте протокол у налаштуваннях браузера.

Схожі статті