هل يمكن لـ PHP cURL استخدام عنوان IP الخاص بالزائر؟
اشرح أي جهاز يفتح اتصال cURL من جهة الخادم وما الذي يحتاجه الوكيل لتغيير ذلك المسار.
ينقر زائر على زر. يستدعي خادم PHP لديك واجهة API خارجية. ترى الواجهة الاتصال الصادر من الخادم، أو مخرج الوكيل المهيأ لذلك الاتصال. متصفح الزائر يتعامل مع اتصال منفصل بموقعك.
نسخ عنوان الزائر إلى ترويسة لا يمكنه نقل اتصال PHP إلى شبكة الزائر. الترويسات بيانات تُرسل عبر اتصال قائم بالفعل. قد تستخدم الوجهة ترويسة تمرير موثوقة في منطق تطبيقها، لكن ذلك لا يحوّل قيمة الترويسة إلى عنوان مصدر الاتصال.
يجب أن يقبل الوكيل الاتصال
لإرسال PHP cURL عبر جهاز آخر، يجب أن يقدّم ذلك الجهاز خدمة وكيل يمكن الوصول إليها ولديها إذن بحمل الطلب. ويجب أن تستطيع عملية PHP الاتصال بها. جلسة المتصفح العادية للزائر لا تمنح خادمك أي نقطة نهاية وكيل عامة كهذه.
يختار خيار الوكيل في libcurl الخدمة التي يتصل بها cURL. ولا يمكنه أن يطلب من متصفح عشوائي أن يبدأ الطلب نيابة عنه.
طلب المتصفح تصميم مختلف
بالنسبة لبعض واجهات API، يمكن للمتصفح استدعاء الوجهة مباشرة. وهذا يضع الطلب على مسار شبكة المستخدم، خاضعًا لإعدادات الوكيل الخاصة به. كما يتطلب واجهة API مصممة لعملاء المتصفح. يتبع الوصول عبر المصادر CORS، وتصبح بيانات الاعتماد المرسلة إلى كود المتصفح متاحة لذلك العميل.
قرر أين ينتمي الطلب قبل اختيار خيار الوكيل. أبقِ بيانات اعتماد الخادم على الخادم؛ واستخدم تكامل متصفح موثقًا عندما تدعمه الخدمة. لا يوفر أي من التصميمين طريقًا مختصرًا موثوقًا لجعل طلب الخادم يرث هوية شبكة الزائر.