قم بتغيير http_referrer باستخدام PHP قبل إعادة التوجيه

StackOverflow https://stackoverflow.com/questions/19835680

  •  25-07-2022
  •  | 
  •  

سؤال

لديّ برنامج نصي يعيد التوجيه إلى رابط مثل

header("Location:http://foo.com/abc.xyz");

لكني أريد إما تعيين ملف HTTP_REFERRER أن تكون http://foo.com أو blank بحيث الموقع http://foo.com لا يمكن تتبع أنه تم إرسال المرجع من مجال آخر يتم فيه تثبيت البرنامج النصي.

هل كانت مفيدة؟

المحلول

حسنًا ، هناك طريقة لتسخين أحد المرتبات. ما مدى فائدة ذلك هو شيء بالنسبة لك لتقرر :)

نظرًا لأن المرجع يأتي من عميل متصفح الويب ، سنحتاج إلى إنشاء "عميل WWW" الخاص بنا ... في الأساس وكيل.

فيما يلي بعض التعليمات البرمجية التي ستحث جميع المعلومات الموجودة:

<?php

// Setup Information
$host = "www.yoursite.com";
$page = "/index.html";

// Open the socket
$fp = fsockopen($host,80,$errno,$errstr,30) or die("Could not establish a connection. $errstr($errno)");

// Request the page
fputs($fp,"GET $page HTTP/1.0\r\n");
fputs($fp,"User-agent: PHP WWW Client\r\n");
fputs($fp,"Referer: http://www.anothersite.net\r\n");
fputs($fp,"\r\n");

// Read response
while (!feof($fp)) {
$page .= fgets ($fp,128);
}

// Close Socket
fclose($fp);

?>

$page ستحتوي الآن على محتويات HTML للصفحة التي تلقيتها للتو من الخادم.

بالنسبة لما تفعله بعد ذلك ، فهذا الأمر متروك لك :) ربما ستحتاج إلى تنسيق أي عناوين URL في الكود حتى ستعمل من مجالك. ثم اطبع رمز HTML.

بشكل عام ، ليس هذا فكرة جيدة حقًا ، ولكن هذه هي الطريقة الوحيدة التي أعرفها "محاكاة" للمرجع وموظف المستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top