PDA

View Full Version : حرفه ای: بهترین ایده برای عضویت ویژه



php_love
سه شنبه 05 دی 1391, 02:44 صبح
سلام دوستان

بنده از یک هاست معمولی dl.site.com جهت نگهداری فایلهای دانلود حجیم (200 تا 500 MB) و یک سرور قوی site.com جهت نگهداری اسکریپت های PHP استفاده می کنم .

چند وقتیه قصد دارم فایلها دانلود تنها برای اعضای ویژه محیا باشه اما حقیقتش ایده هایی که به ذهنم رسید برای انجام این کار عملا ممکن نبود به دلایل برخی موارد خاص .

ایده من این بود : لینکی که برای دانلود به کاربر میدم حاویه نام فایل و نام کاربری (رمزگذاری) باشه و در دامین dl.site.com مقدار نام کاربری رو با وصل شدن به دیتابیس موجود در دامین site.com مورد ارزیابی قرار بدم , که اگر کاربر معتبر بود و هزینه ماهیانه را پرداخت کرده بود و کلی اگر دیگه , اجازه دسترسی به فایل رو بهش بدم , اگر هم نبود برشگردونم به دامین site.com .

اگر از یک دامین مجزا استفاده می کردم طبیعتا کار خیلی راحت بود و دنگ و فنگی هم نداشت , اما چون از دو دامین مجزا استفاده می کنم این امکان وجود نداره که از dl.site.com به دیتابیس موجود در site.com دسترسی داشته باشم . (شاید حق دسترسی به دیتابیس فقط برای کاربران لوکال تعریف شده باشه) .

حالا از شما دوستان می خوام اگر ایده ای بهتر دارید , لطفا منو راهنمایی کنید .

siavashsay
سه شنبه 05 دی 1391, 11:13 صبح
دوست عزیز !
شما میتونید از یک سرور به دیتابیس سرور دیگه متصل شید :
جهت سطح دسترسی داده به یک آدرس IP جهت اتصال به دیتابیس mysql در cpanel مراحل زیر را طی نمایید.
1 - وارد cpanel خود شده
2 - به بخش database مراجعه نموده.
3 - بر روی Remote Mysql کلیک نمایید
4 - آدرس IP کامپیوتری که قرار است به این دیتابیس اتصال پیدا نماید را وارد نمایید
5 - بر روی Add Host کلیک نمایید

و در نهایت موقع اتصال به دیتابیس سرور دیگر ازین کد برای کانکت شدن استفاده کنید :


$dbhost = '192.168.0.2:3306';$dbuname = 'dbname';$dbpass = 'dbpass';

البته سعی کنید متغیرهای خودتون و اطلاعات سرور خودتون رو در کد جای گذاری کنید !

توجه : این سیستم اکثرا کار میکنه اما منوط به اینکه مدیر هاست شما اتصالات دیتابیس رو محدود نکرده باشه !

mamali-mohammad
سه شنبه 05 دی 1391, 13:44 عصر
من این سیستم رو قبلا دیدم
mydatir ازش استفاده میکنه
iranfilm هم همینطور
بهتره به مدیر سرور بگی که ساب دامنه dl.site.com رو محدود به یوزر و پسورد کنه

php_love
سه شنبه 05 دی 1391, 15:12 عصر
دوست عزیز !
شما میتونید از یک سرور به دیتابیس سرور دیگه متصل شید :


دوست گرامی . مراحلی که فرمودید رو بنده رفتم اما به دیتابیس کانکت نمیشه . آیا غیر از این مراحل تنظیم خاص دیگه ای هم هست . جالبه که تو بخش Remote mysql نوشته شده .
You can allow external web servers to access your MySQL databases by adding their domain name to the list of hosts that are able to access databases on your web site.
اما زمانی که IP یا حتی نام سرور dl.site.com رو اضافه می کنم و تستی میگیرم میبینم کانکت نمیشه !!!!!

Unique
سه شنبه 05 دی 1391, 22:35 عصر
توی بعضی از هاست ها کلا اجازه remote داده نمیشه ابتدا از مسئول هاست سوال بفرمائید. برای اطمینان با mysql administrator چک کنید واگه موفقیت آمیز بود از روی سیستم local خودتون هاست آنلاین را چک کنید.

php_love
چهارشنبه 06 دی 1391, 11:22 صبح
نخیر اجازه remote داده نمیشه . نمیشه ایده دیگه ای پیاده کرد . طوری که من بتونم تو dl.site.com کاربر رو بدون دسترسی به دیتابیس موجود در site.com مورد ارزیابی قرار بدم .

البته یه راه دیگه هم به ذهنم رسید , اما نمی دونم تو عمل ایده آل هست یا نه که از شما دوستان تقاضای راهنمایی دارم .

اینکه بیام هر 2 دقیقه یک بار با کرون جاپ یک فایل تشکیل بدم از لیست کاربران به همراه وضعیت عضویتشون و اون رو تو یکی از پوشه های موجود در dl.site.com آپلود کنم . زمانی که کاربر لینک رو کلیک می کنه از فایله ایجاد شده در dl.site.com , لیست کاربرانی که حق عضویت دارند رو می خونم , در صورتی که نام کاربریش وجود داشت , اوکیه .

اما متاسفانه تا به حال از کرون جاب ها استفاده نکردم , شاید مشکلات خاصه خودش رو داشته باشه ؟؟!!!

Unique
چهارشنبه 06 دی 1391, 13:32 عصر
روش شما زیاد جالب نیست ، دوست عزیز این کار را انجام بده :

راستش من سناریو را برای خودم تعریف میکنم شما ازش ایده بگیر ، دو حالت وجود داره ، توی حالت اول کاربر توی سایت site.com هست و لاگین کرده و من میخوام ریدایرکتش کنم به dl.site.com تا فایلش را دانلود کنه ، میام نام فایل یا id فایل را encrypt میکنم با get ارسال میکنم و اونطرف decrypt میکنم و اجازه دانلود میدم. توی حالت دوم کاربر لینک را داره مستقیم از dl.site.com صدا میزنه در این حالت من ازش user و pass میگیریم و از طریق file_get_contents مقادیر را به آدرسی مثل validate_user.php همراه با user و pass میفرستم حالا دیگه نیازی به remote نیست چون validate_user.php روی همون سرور هست ، حالا کافیه نتیجه 0 یا 1 را برگدونم تا اسکریپت دانلود روی dl.site.com در خروجی تابع file_get_contents متوجه بشه اجازه دانلود بده یا نه ! در ضمن میتونین user و pass را هم plain text نفرستین و encrypt کنین.

موفق باشین.

shahriyar3
چهارشنبه 06 دی 1391, 15:09 عصر
چقدر پیچیده میکنید قضیه رو خیلی سادست که
از http_request استفاده کنید . یک فرمی در سایت دانلود بزارید و یک فرمی هم در سایتی که کاربر عضو هست
با استفاده از http_request فرمی که کاربر تکمیل میکنه رو اطلاعاتشو برای سایت دانلود ارسال کنید و نتیجه میشه اگر کاربر مجوز داشت لینک دانلود رو چاپ کنید اگر مجوز نداشت پیغام مناسب براش چاپ کنید
حتما دیدید که خیلی سایت ها هستن که برای فیس بوک برنامه نوشتن که بشه از سایت خودشون کنترلش کرد
خیلی سادست امتحان کنید :چشمک:

Unique
پنج شنبه 07 دی 1391, 01:52 صبح
آقا شهریار میشه اینی که گفتین را کامل بگین من یاد بگیرم ؟ این فرمها که قراره تکمیل بشن چی هستند ؟ database روی کدوم سرور هست ؟ فایل ها روی کدوم ؟ فرم برای کی ارسال میشه ؟!

php_love
سه شنبه 01 اسفند 1391, 04:00 صبح
1- unique عزیز چطور می تونم لینکی که به یک فایل اشاره می کنه رو Redirect کنم به یک صفحه PHP .
2- و بعد به این لینک نگاه کن , به نظرت اینا چه حرکتی زدن , البته این حرکت همون سناریویه تویه اما چطوری این عمل رو می تونم پیاده کنم .

دانلود فیلم قسمت 1 با لینک مستقیم (http://dl.filmgozar.net/Series/Arrow/S01E01.480p.FilmGozar.Com.mkv)

لطفا هر دوش رو پاسخ بده :چشمک:

MMSHFE
سه شنبه 01 اسفند 1391, 08:42 صبح
نخیر اجازه remote داده نمیشه . نمیشه ایده دیگه ای پیاده کرد . طوری که من بتونم تو dl.site.com کاربر رو بدون دسترسی به دیتابیس موجود در site.com مورد ارزیابی قرار بدم .

یک راه دیگه هم هست: توی site.com یک فایل بسازین که یکسری اطلاعات امنیتی و کنترلی رو با روش post و... میگیره و به دیتابیس وصل میشه و بعد از انجام کارها روی دیتابیس (SELECT و...) نتیجه رو برگردونه. برای نتیجه گیری بهتر، حتی میتونید وب سرویس طراحی کنید.

php_love
سه شنبه 01 اسفند 1391, 12:40 عصر
MMSHFE عزیز اگه میشه این دو سئوال رو پاسخ بدید .

1- unique عزیز چطور می تونم لینکی که به یک فایل اشاره می کنه رو Redirect کنم به یک صفحه PHP .
2- و بعد به این لینک نگاه کن , به نظرت اینا چه حرکتی زدن , البته این حرکت همون سناریویه تویه اما چطوری این عمل رو می تونم پیاده کنم .
دانلود فیلم قسمت 1 با لینک مستقیم (http://dl.filmgozar.net/Series/Arrow/S01E01.480p.FilmGozar.Com.mkv)

آیا این حرکت با وب سرویس انجام شده . اگه میشه تاپیکی که در مورد آموزش وب سرویس هست رو بهم معرفی کنید .

MMSHFE
سه شنبه 01 اسفند 1391, 14:00 عصر
1- با کمک htaccess. همه درخواستها رو بفرستین به یک کنترل کننده و اونجا تصمیم بگیرین چه کاری انجام بشه.
2- با همون روش کار شده.

php_love
سه شنبه 01 اسفند 1391, 15:59 عصر
1- سورس این کد تو نت وجود داره یا باید از نو نوشته بشه . چون اکثر سایت های فیلم یه همچنین سناریویی دارن .

2- متاسفانه با وب سرور کار نکردم , میشه یه لینک راهنما از مقدماتیش رو واسم بزارید .

3- اگه با سی شارپ یه فرمی درست کنم که یوزر و پس رو از کاربر بگیره , چطوری باید برنامه رو سمت سرور نصب کنم .

php_love
سه شنبه 01 اسفند 1391, 23:01 عصر
سلام .

با سی شارپ یه برنامه نوشتم که یوزر و پس رو برای site.com ارسال می کنه و اونجا چک میشه که کاربری با یوزر و پسی که ارسال شده معتبر هست یا خیر . اگر معتبر بود عدد 1 و اگه هم نه مقدار 0 به کد سی شارپ برگشت داده میشه . حالا دو تا سئوال از شما عزیزان دارم .

1- زمانی که مقدار 1 به معنی معتبر بودن کاربر به سی شارپ برگشت داده میشه , حالا چطور مستقیم به فایل اشاره کنم تا دانلود بشه ؟

2- چطور می تونم برنامه سی شارپ رو تو سیستم کاربر اجرا کنم . یعنی وقتی کاربر رویه لینک دانلود کلیک کرد , برنامه سی شارپ بیاد بالا و یوزر و پس رو ازش بگیره ؟!!!

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

php_love
چهارشنبه 02 اسفند 1391, 01:52 صبح
دوستان خیلی ممنون میشم اگه کسی راهنمایی کنه پدر در اومد تو نت اینقدر جستجو کردم

برای اجرا کردن یه فایل exe دو تا دستور پیدا کردم که اصلا نمی دونم چی هستن و به چه کاری میان و چه پارامترهایی دارن .
1- system
2- exec

از system برای run کردن فایل exe استفاده کردم , تو لوکال فرم سی شارپ باز میشه , اما تو سرور چیزی نمایش داده نمیشه . آیا باید فایل exe رو تو سیستم کاربر (لوکال) دانلود کنم و بعد فرم باز بشه یا نه . لطفا راهنمایی کنید . آیا تنظیمات خاصی باید انجام بشه یا مسئله چیزه دیگه ایه
ممنون

SlowCode
چهارشنبه 02 اسفند 1391, 06:35 صبح
دوستان خیلی ممنون میشم اگه کسی راهنمایی کنه پدر در اومد تو نت اینقدر جستجو کردم

برای اجرا کردن یه فایل exe دو تا دستور پیدا کردم که اصلا نمی دونم چی هستن و به چه کاری میان و چه پارامترهایی دارن .
1- system
2- exec

از system برای run کردن فایل exe استفاده کردم , تو لوکال فرم سی شارپ باز میشه , اما تو سرور چیزی نمایش داده نمیشه . آیا باید فایل exe رو تو سیستم کاربر (لوکال) دانلود کنم و بعد فرم باز بشه یا نه . لطفا راهنمایی کنید . آیا تنظیمات خاصی باید انجام بشه یا مسئله چیزه دیگه ایه
ممنون

سلام
اینجا بخش php هست! بهتره سوالتون رو تو بخش Asp.net (http://barnamenevis.org/forumdisplay.php?25-ASP.NET) بپرسی.

php_love
چهارشنبه 02 اسفند 1391, 11:32 صبح
دیشب وقتی مشکلم رو در این تاپیک مطرح کردم امید داشتم امروز به نتیجه رسیده باشه , اما جز آقا محسن که میگه تو بخش Asp.Net مطرح کن (کجایه صحبته من ربط به Asp.Net داشت) , جواب دیگه ای نگرفتم .

سرور من لینوکسیه , فایل exe رو با سی شارپ درست کردم و در محیط ویندوز کامپایل شده , آیا امکان داره مشکل از این بابت باشه , همانطور که گفتم تو لوکال فایل exe اجرا میشه , اما تو سرور که آپلود می کنم اجرا نمیشه .

MMSHFE
شنبه 05 اسفند 1391, 17:30 عصر
اگه سرور لینوکس باشه اجرا نمیشه. مگه اینکه هاست اختصاصی داشته باشین و خودتون Mono رو روش نصب کنید که اون هم بطور کامل و همه جا 100٪ جواب نمیده و باید امتحان کنید.

shahriyar3
شنبه 05 اسفند 1391, 18:06 عصر
آقا شهریار میشه اینی که گفتین را کامل بگین من یاد بگیرم ؟ این فرمها که قراره تکمیل بشن چی هستند ؟ database روی کدوم سرور هست ؟ فایل ها روی کدوم ؟ فرم برای کی ارسال میشه ؟!
حالا فرم داشتن خیلی لازم نیست ولی در کل منظورم نوشتن یک وب سرویس ساده هست که بین 2 تا سایت بتونه تبادل اطلاعات بکنه
من فکر میکنم موقع لاگین کاربران یک کلید سشن برای کاربران بایدایجاد بشه که همون موقع توی تیبل در سرور دانلود هم این کلید ذخبره بشه
وقتی کسی درخواست لینک دانلود میکنه اول مقدار سشن کاربر چک بشه از طریق وب سرویس بعد اجازه نمایش لینک دانلود بهش داده بشه
حتما توی این سیستم لازم هست آدرس فایل ها توی تیبل هم ثبت شده باشه
همین الان سایت هائی هستند که دارند api برای بازی پوکر میفروشند یعنی شما یک سایت ایجاد میکنید ولی حتی لاگین سایت هم از طریق api به سرور اصلی انجام میشه و کل اطلاعات بازی از اون طریق لود میشه
این یک مثال خیلی سخت بود که قبلا باهاش کار کرده بودم و برای هر عملی اول هویت کاربر چک میشد بعد مقادیر درخواستی پاس داده میشد
الان خیلی از برنامه نویس ها هستند که سایت هائی که درست میکنند و از طریق ههمین روش کنترل میکنند
کاری که ایشون میخواهند انجام بدن فقط یک درخواسته اونم برای یک رشته کوتاه اینقدر پیچیده نیست!!!