Wildcard DNS و زیر دامنه های پویا

در تمام اوقات فراغت خود (هکتار!) ، در حال کار برای بسته بندی کردن آن بوده ام نقشه نامحدود پرندگان وحشی برنامه با یک برنامه سازمانی که به افراد امکان می دهد مکان یاب فروشگاه خود را طراحی کنند. توسعه نرم افزار خودم به عنوان یک راه حل سرویس برای چند سال هدف من بوده است و این یک فرصت عالی است.

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

هدف من ایجاد یک برنامه سلف سرویس است که مشتری بتواند زیر دامنه خود را پیکربندی کند (http://زیر دامنه.myapplicationdomain.com) ، یا حتی زیر دامنه خود را اعمال می کنند (http://زیر دامنه.yourdomain.com) برای اینکه خود سرویس باشد ، به برنامه نویسی راه حل نیاز دارد - اما به برخی از پرونده های پیکربندی سرور نام دامنه که با اکثر حساب های میزبانی خارج از محدودیت هستند ، دسترسی پیدا می کند! مسئله پشتیبانی از Wildcard DNS است ، یعنی اینکه بتوانید هر زیر دامنه ای را به دامنه سرور هدایت کنید. به عبارت دیگر ، test.domain.com یا www.domain.com یا any.domain.com همه به یک مکان اشاره می کنند. مهم نیست که چه می نویسید - کارساز خواهد بود.

خارج از برنامه ها ، این در واقع یک ویژگی زیبا برای فعال کردن است - حتی در وبلاگ شما. این اجازه می دهد تا هر کسی برای نوشتن هر چیزی.yourdomain.com و آنها را به yourdomain.com. تعجب خواهید کرد که چند لینک بد وجود دارد که به وبلاگ یا وب سایت شما اشاره دارد. اگر شخص تشخیص ندهد خطایی در پیوند وجود دارد ، این می تواند ترافیک را از دست بدهد.

این فرآیند با بازنویسی زیر دامنه در یک querystring قبل از اینکه صفحه توسط وب سرور ارائه شود ، کار می کند ... بنابراین subdomain.domain.com توسط سرورهای Apache به عنوان domain.com؟what=subdomain از طریق استفاده از یک فایل htaccess تفسیر می شود:

# قسمت زیر دامنه domain.com را استخراج کنید
RewriteCond٪ {HTTP_HOST} ^ ([^ \.] +) \. yourdomain \ .com $ [NC]
 
# بررسی کنید که قسمت زیر دامنه www و ftp و نامه نباشد
RewriteCond٪ 1! ^ (www | ftp | نامه) $ [NC]
 
# همه درخواست ها را به یک اسکریپت php هدایت کنید که به عنوان استدلال زیر دامنه است
RewriteRule ^. * $ http://www.yourdomain.com/٪1 [R، L]

برخی اطلاعات اضافی در مورد پرونده هایی وجود دارد که باید در آنها ویرایش کنید V-nessa.net. توجه داشته باشید که بسته به ارائه دهنده میزبانی شما ، ممکن است پرونده ها در مکان مشخصی قرار نداشته باشند. ارائه دهنده میزبانی من در واقع از مداخله افراد پشتیبانی می کند ، اما آنها هشدار می دهند که انجام این کار ممکن است پشتیبانی مشتری را باطل کند. همچنین "هک به خطر انداختن خودتان" ، آنها برای کمک به شما نیز تماس نخواهند گرفت.

من می خواهم به جای اینکه در توسعه زیر دامنه معلوم شود ، روی توسعه بقیه برنامه ها کار کنم. من در واقع می خواهم بدهم CakePHP شات برای استفاده به عنوان چارچوبی برای آن!

آخرین یادداشت ، من کمی هک این موارد هستم. من در کارم با تیم های توسعه دهنده خوشبخت هستم تا این موارد را کشف کنم. به تنهایی ، من کمی خطرناک هستم. از هرگونه بازخورد و راهنمایی قدردانی می شود!

3 نظرات

  1. 1

    Very cool. I actually used my registrar’s name server with wildcard DNS when I was with SliceHost, and had Apache configured to serve unconfigured subdomains from the regular domains files.

    من واقعاً برای دیدن چارچوب CakePHP بسیار جالب شده بودم ، اما پیوند شما از بین رفته است ...

    CakePHP را می توان در یافت http://cakephp.ORG

  2. 3

شما چه فکر میکنید؟

این سایت از Akismet برای کاهش هرزنامه استفاده می کند. بدانید که چگونه نظر شما پردازش می شود.