• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
انحصار دریافت متد پست از دامنه یا صفحه خاص
#1
دوستان راهی هست که صفحه action.php که یک سری داده رو با متد پست دریافت و پردازش می کنه، این داده ها رو فقط از دامنه site.com یا فقط از صفحه site.com/page.php دریافت کنه و به داده هایی که از صفحات یا دامنه های دیگه فرستاده میشن اهمیت نده؟
موفق باشید.
  پاسخ
تشکر شده توسط :
#2
می تونید آدرسی که کاربر ازش اومده رو با یکی از کدهای زیر پیدا کنید :
کد پی‌اچ‌پی:
$_SERVER["HTTP_REFERER"]; // output :    http://localhost/ 

نحوه ی استفاده :
$_SERVER
غایب
  پاسخ
تشکر شده توسط :
#3
در آرایه $_SERVER اینا هست که ممکنه به این بحث مربوط باشه:

REMOTE_ADDR حاوی IP کلاینت است.

REMOTE_HOST حاوی آدرس دامین کلاینت است. البته باید توجه داشت که کلاینت ممکنه اصلا آدرس دامین نداشته باشه. هر کلاینت حتما یک IP داره (گرچه این IP میتونه موقتی یا Share شده بین تعدادی کاربر باشه؛ مگر اینکه طرف IP استاتیک اختصاصی داشته باشه) ولی هر کلاینتی نام دامین نداره (بطور معمول کاربران عادی نام دامین ندارن).
REMOTE_HOST با reverse dns lookup بر اساس REMOTE_ADDR بدست میاد. یعنی چک میشه که آیا نام دامینی به IP کلاینت نگاشت شده.

SERVER_NAME هم درواقع دامین سرور خود شماست (جایی که اسکریپت PHP شما داره روش اجرا میشه) و به کلاینت ربطی نداره.
کاربر گرامی Alaa به اشتباه فکر کردن که مربوط به کلاینت میشه (طبیعتا روی لوکال وقتی تست میکنید آدرس سرور و کلاینت یکیه).

HTTP_REFERER هم مقداری هست که توسط مرورگر کلاینت گزارش شده. این مورد دو نکته مهم داره: یکی اینکه HTTP_REFERER میتونه توسط کلاینت جعل و به هر مقدار دلخواه ست بشه، دیگر اینکه در صفحات HTTPS این مورد اصلا ارسال نمیشه و در نتیجه مقداری برای HTTP_REFERER وجود نداره که بشه بر اساسش چیزی فهمید و تصمیمی گرفت.
ضمنا HTTP_REFERER اصلا آدرس خود کلاینت رو نمیده، بلکه آدرس صفحه ای رو میده که درخواست از طریق اون صفحه ارسال شده.
  پاسخ
تشکر شده توسط : Alaa


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان