PDA

View Full Version : بدست آوردن نام دامنه



aminsm
دوشنبه 27 اردیبهشت 1389, 19:38 عصر
سلام.
من یک سایتی دارم که میخوام یک سرویسی رو به سایتهای دیگه ارائه بدم.(از طریق یک لینک اختصاصی برای هر سایت).
من میخوام این لینک فقط برای همان سایت قابل استفاده باشه، من میتونم با دستور :

$_SERVER['REMOTE_ADDR']

آیپی سرور رو بدست بیارم و این سرویس رو فقط برای همین آیپی قابل استفاده کنم، ولی میخوام بدونم آیا راهی برای بدست آوردن دامنه‌ی این سایت هست، یعنی سرویس رو فقط روی این دامنه قفل کنم.

سایت مشتری هم از طریق دستور زیر به سایت من وصل میشه :

file_get_contents('URL');


خودم بعید میدونم که همچین کاری قابل انجام باشه ولی پرسیدن که عیب نیست!

hadiaj168
دوشنبه 27 اردیبهشت 1389, 20:36 عصر
$_SERVER['SERVER_NAME'];

امیـرحسین
دوشنبه 27 اردیبهشت 1389, 20:42 عصر
توسط ['SERVER['HTTP_REFERER_$ می تونید آدرس ارجاع دهنده لینک رو پیدا کنید و توسط تابع parse_url (http://ir.php.net/manual/en/function.parse-url.php)، دامین رو پیدا کنید که این روش قطعی و مطمئن نیست!
روش IP هم جالب نیست چون سایتهای روی سرورهای share، مقدار IP یکسان دارند. یعنی ممکنه 40 تا سایت دیگه با IPای که شما معیار قرار دادید وجود داشته باشه.

راهی که من پیشنهاد می کنم تلفیقی از این روشهاست. به هر سایت یک کلید اختصاص بدید که برای لینک به سایت شما باید اون رو هم بفرستند. مثلا اینجوری:

http://example.com/?ref=FDG354F
همینطور نام دامین و IPاشون رو هم داشته باشید.
وقتی ورودی دارید، مقدار ref رو از لینک باید با نام دامین و IP ارجاع دهنده مطابقت کنه.

این روشها قطعی نیستند ولی جلوی آدمای بیکار و آماتور رو میگیره.

aminsm
سه شنبه 28 اردیبهشت 1389, 16:53 عصر
$_SERVER['SERVER_NAME'];

این که برای گرفتن اسم سرور یا دامنه‌ی خودم هست.


توسط ['SERVER['HTTP_REFERER_$ می تونید آدرس ارجاع دهنده لینک رو پیدا کنید و توسط تابع parse_url (http://ir.php.net/manual/en/function.parse-url.php)، دامین رو پیدا کنید که این روش قطعی و مطمئن نیست!

خیلی ممنونم از جوابهاتون.
ولی مثل اینکه منظورمو خوب نتونستم برسونم.
من نمی‌خوام بدونم که کیا به من ارجاع دادن. من می‌خوام بدونم سایتی که با دستور مثلا curl یا fopen یا file_get_contents به سایت من وصل میشه و به عنوان مثال فایل service.php رو دانلود میکنه نام دامنش چی هست. از جایی هم ارجاع داده نشده و مستقیما آدرس سایت منو داده.

خودم قبلا هم گفتم که بعید میدونم که همچین چیزی امکان داشته باشه ولی چون یکی از دوستان همچین چیزی از من خواسته بود، منم گفتم نمیشه، خواستم مطمئن بشم.
چون سرور و دامنه جدا از هم هستن و این سرور هست که با آیپی مخصوص خودش به سرور من وصل میشه. ممکنه یک هاست چند دامنه داشته باشه، وقتی به سایت من وصل میشه من بگم با کدوم دامنش وصل شد؟!!!!!!!
مثله این میمونه که یک شخصی که دو تا اسم داره، به من سلام بده، بعد من بگم الان با کدوم اسمش به من سلام داد.
اگر اشتباه میکنم بفرمایید.

rapidpich
سه شنبه 28 اردیبهشت 1389, 17:13 عصر
نمیتونی
به هرکدوم یک کلید بده و بعد کلید رو چک کن. ولی در هر حال نمیتونی مطمئن بشی طرف از کدوم دامنه فرستاده. محدودیت رو روی درخواست ها بگذار. مثلا بگو 1000 درخواست در ماه.

funpatogh
جمعه 28 خرداد 1389, 00:21 صبح
اگه بخوای از روی آی پی اسم سایت رو بفمی باید از تابع زیر استفاده کنید


<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>