استفسار بخصوص php

مثلا لدي هذا الكود

<?php

  $filesarray = array(

    'http://45.32.233.5//file-1....

    'http://45.32.233.5//file-2....

    'http://45.32.233.5//file-3....

  );

foreach($filesarray as $file){

  if( strpos(file_get_contents($file),'class="vid-brahim"') !== false) {

   echo $file;

   break;

  }

}

?>

الان اظن ان عندما يتم تنفيذ الكود يتم عمل ريكويست على تلك صفحات بي IP الخاص بي سيرفر هل يوجد طريقة لعم ريكويست على تلك صفحات بي IP زائر

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

جرب استخلاص عنوان الـ IP الخاص بالمستخدم أولا، ثم استخدمه في تكوين مسارات هاته الملفات، اما ما بعد ذلك فسيبقى نفس السيناريو.

لنقم مثلا بانشاء الدالة التي تقوم باستخراج هذا العنوان:

function getIp()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}

ثم لنستعملها في تكوين هاته المسارات:

$filesarray = array(
    'http://'.getIp().'//file-1....
    'http://'.getIp().'//file-2....
    'http://'.getIp().'//file-3....
);

شكرا على جوابك ليس هذا لذي اريده مثلا ريكويست الذي يتم ارساله الى هذه صفحة مثلا اثناء تنفيذ الكود

اريد ان تظن تلك صفحة على ان ريكويست اتاها من ip زائر وليس من ip سيرفر

جرب ارسال الطلبات إلى تلك المواقع من خلال جافاسكريبت (تقنية ajax)، بتلك الطريقة ستعمل 'ريكويست' بعنوان الـIP الخاص بالزائر.

طيب شكرا اخ وليد بس كيف اعملها

اظن ان curl ايضا يمكنها فعل ذالك صح

أنا لا أعرف طريقة عمل ريكويست بإستعمال ip الزائر في curl PHP.

بالنسبة لطريقة javascript ajax، فيمكنك استعمال كود مثل هذا:

var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        var htmlString = this.response;
    }
};

xhttp.open('GET', 'ضع الرابط هنا', true);
xhttp.send();

لكن طريقة ajax قد لا تعمل بسبب مشكلة http header (Access-Control-Allow-Origin)

طيب لقد اشنغل شكرا لك

العفو :)

فقط اريد استدعاء رابط الذي ساعمل عليه ريكوست من url مثلا

http://domain.com/&mylink=http://domain1.com

ويتم وضعه هنا

xhttp.open('GET', 'ضع الرابط هنا', true);

هل تقصد أنك تريد جلب رابط domain1.com ؟

جرب هذا:

var xhttp = new XMLHttpRequest(),
    fullURL = 'http://domain.com/&mylink=http://domain1.com',
    parameterName = 'mylink';

if (fullURL.indexOf('?') === -1) {
    fullURL = fullURL.replace('&', '?&');
}

var url = new URL(fullURL),
    searchParams = new URLSearchParams(url.search);

xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        var htmlString = this.response;
    }
};

if ( searchParams.has(parameterName) ) {
    console.log( searchParams.get(parameterName) );
    xhttp.open('GET', searchParams.get(parameterName), true);
    xhttp.send();
}

ولا تنسى طبعا أن تعدّل المتغيرين fullURL و parameterName