PDA

View Full Version : سوال: آیا چیزی مثل کلاس Global.asax در PHP وجود دارد



محمد گلشن
جمعه 12 اسفند 1390, 19:48 عصر
سلام

میدونم که در PHP کلاسی مثل Global.asax در Asp.Net وجود نداره و این خودش یک مشکل بزرگ واسه PHP محسوب میشه البته شاید امکانی بهتری PHP داشته باشه که من در جریان نیستم .

حالا . می خواستم بدونم چطور می تونم کاری کنم که کاربرانی که قصد دانلود از سایت من رو دارن حتما وارد سایته من شده باشند و بعد امکان دانلود واسشون محیا شده باشه . یعنی اینکه اگه سایت های دیگه هم لینک مستقیم ما رو قرار داده باشند ابتدا کاربر وارد سایت ما شود و بعد لینک مستقیم رو از داخل سایت ما کلیک نمایند . شاید این مسئله با ثبت نام کاربر حل بشه , اما من نمی خوام که کاربر ثبت نام کرده باشه , می خوام بدونم آیا بدون ثبت نام هم میشه چنین کاری رو کرد یا خیر . اگه آره لطفا راه حل بدید .
خیلی ممنون

Unique
شنبه 13 اسفند 1390, 01:10 صبح
راستش شما دقیقا معلوم نکردی چه ربطی به Global.asax داره ؟ توی Global.asax میشه ریداد های Application Start و Session Start را مدیریت کرد ! اما برای دانلود فایل که معمولا به صورت مستقیم یا غیر مستقیم با ارسال Header های مناسب میشه انجام داد خیلی اهمیتی نداره ، برای مدیریت دانلود فایل ها بهترین روش اینه که خودتون Header ها را ارسال کنین و فایل را برای کاربر بفرستین و نه لینک مستقیم اینجوری میشه بالای صفحه HTTP_REFERER را چک کرد واگه از سایت خودمون بود دسترسی دانلود داد با htaccess هم میشه HTTP_REFERER را کنترل کرد :
http://stackoverflow.com/questions/4654944/use-htaccess-to-limit-access-to-file-downloads

اما یادت باشه HTTP_REFERER را بعضی Browser ها پشتیبانی نمیکنن ! و ست نمیشه ! راه های دیگه مثل ست کردن Cookie هم میشه استفاده کرد ! اما نکته ای که من نمیفهمم اینه که Global.asax واسه شما چه کاری میکنه که php نمیکنه ؟

MMSHFE
شنبه 13 اسفند 1390, 08:24 صبح
برای کاری که شما میخواین، چند راه هست:
1- بررسی URL و اجازه دادن به دانلود تنها درصورتی که URL توی دامین خودتون باشه
2- بررسی REFERER و اجازه دادن به دانلود فقط برای REFERERهای مجاز (Referer زیاد قابل اعتماد نیست)
3- استفاده از کنترل پانل cPanel و تنظیم ویژگی Hotlink Prevention توی کنترل پانل برای پسوندهای خاص
4- استفاده از htaccess.
5- تنظیم Permissionها
در هر حال، من هم متوجه ارتباط این قضیه با Global.asax نشدم چون اون کلاً کارش یه چیز دیگه هست. موفق باشید.

محمد گلشن
شنبه 13 اسفند 1390, 16:36 عصر
برای کاری که شما میخواین، چند راه هست:
1- بررسی URL و اجازه دادن به دانلود تنها درصورتی که URL توی دامین خودتون باشه
2- بررسی REFERER و اجازه دادن به دانلود فقط برای REFERERهای مجاز (Referer زیاد قابل اعتماد نیست)
3- استفاده از کنترل پانل cPanel و تنظیم ویژگی Hotlink Prevention توی کنترل پانل برای پسوندهای خاص
4- استفاده از htaccess.
5- تنظیم Permissionها
در هر حال، من هم متوجه ارتباط این قضیه با Global.asax نشدم چون اون کلاً کارش یه چیز دیگه هست. موفق باشید.
دوستان بابت اشتباهی که کردم عذر میخوام راستش نمی دونم چی شد که یه همچین اشتباهی کردم .

بابت این عمل شما کدوم یک از این توصیه ها رو پیشنهاد می کنید ؟
که البته من هیچ کدوم رو یاد ندارم . ممنون میشم اگر هر کدوم رو پیشنهاد می کنید مراحله پیاده سازیش رو هم خلاصه بگید تا من با روندش آشنا بشم .

farhadfery
شنبه 13 اسفند 1390, 17:29 عصر
دوستان بابت اشتباهی که کردم عذر میخوام راستش نمی دونم چی شد که یه همچین اشتباهی کردم .

بابت این عمل شما کدوم یک از این توصیه ها رو پیشنهاد می کنید ؟
که البته من هیچ کدوم رو یاد ندارم . ممنون میشم اگر هر کدوم رو پیشنهاد می کنید مراحله پیاده سازیش رو هم خلاصه بگید تا من با روندش آشنا بشم .

:متفکر:. در بالا دوستان که جواب دادند. یه سرچ بزن تا رش اجراش را هم ببینی. (تو همین سایت زیاد بحث شده)

ای مدیریت دانلود فایل ها بهترین روش اینه که خودتون Header ها را ارسال کنین