پیمایش پراکسی وب PHP: نشانیهای نسبی، کوکیها و مبدأها
هنگام تبدیل واکشی با PHP به یک پراکسی وب برای مرورگر، نشانی منابع، پیمایش، کوکیها و مرزهای مبدأ را برنامهریزی کنید.
پیش از افزودن بازنویسی بیشتر به یک واکشیکننده PHP، انتخاب کنید منبع بعدی باید کجا برود. سندی که از https://destination.example/catalog/ واکشی و در https://viewer.example/browse?url=... بازگردانده میشود ممکن است شامل اینها باشد:
<img src="photo.jpg">
<a href="details/42">Details</a>مرورگر آن ارجاعها را با سندی که در نمایشگر دریافت کرده حل میکند. اینکه PHP بایتهای اصلی را واکشی کرده باشد، مبدأ راهدور را تثبیت نمیکند.
یک عنصر base میتواند نشانیهای نسبی را به مقصد اشاره دهد، اما آن درخواستها ممکن است سپس مستقیماً از مرورگر به مقصد بروند. برای نگهداشتن هر درخواست از مسیر PHP، در عوض به نشانیهای پراکسی و مدل مسیریابی گستردهتری نیاز است:
| منبع یا کنش | برخورد لازم |
|---|---|
| پیوندها و تصاویر | آنها را نسبت به سند راهدور حل کنید و مسیر موردنظر را تولید کنید |
| واردکردنیها و منابع CSS | از مبدأ راهدور شیوهنامه استفاده کنید |
| فرمها | روش و دادههای ارسالی را حفظ کنید |
| تغییر مسیرها | پیمایش را درون مدل مجاز نگه دارید |
| درخواستهای ساختهشده با اسکریپت | نشانیهای غایب از HTML اصلی را مدیریت کنید |
چند جایگزینی با عبارت منظم نمیتواند سازگاری عمومی با سایتهای پراسکریپت را تضمین کند. برای یک سند عمومی شناختهشده، شاید غیرفعالکردن پیمایش، اجازهدادن پیوندهای مستقیم یا هدایت زیرمجموعهای پشتیبانیشده از راه نمایشگر کافی باشد. انواع رسانه واقعی را حفظ کنید، نه اینکه هر پاسخ را HTML بپندارید.
بازگرداندن نشانهگذاری نامطمئن از دامنه شما همچنین مبدأ مرورگر نمایشگر را به آن میدهد، نه هویت سایت واکشیشده را. آن اسناد را از صفحههای حساب و مدیریت جدا کنید. کوکیهای راهدور برای هر بازدیدکننده، سرآیندهای مجاز برای ارسال و مقصدهای تغییر مسیر را تعریف کنید؛ یک شیشه کوکی مشترک میتواند ورودهای راهدور را درهم بیامیزد.
پیش از ارائه یک نشست مرور، به آن مرز پشتیبانی متعهد شوید. برای مرور معمولی از خروجی دیگر، رابط پراکسی بومی مرورگر، مانند تنظیمات HTTP/SOCKS در Firefox، نشانی مقصد و مدل مبدأ مرورگر را بدون نیاز به این لایه واکشی و بازنشر حفظ میکند. برای آزمون جداگانه یک سایت عمومی، فهرست پراکسیهای رایگان نقاط پایانی نامزد را فراهم میکند؛ پروتکل را در تنظیمات مرورگر مطابقت دهید.