PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راه اندازی سرور مجازی ( مبتدی)



mobintmu
May 5th, 2014, 01:27
با سلام
من یه برنامه ای نوشتم که توش باید یه فایل exec بشه و تقریبا تمام هاست های اشتراکی جز یکی به دلیل مسایل امنیتی این امکان رو برداشتن .
از طرفی من با لینوکس ترمینالی اشنایی دارم ولی نه در حد کانفیگ سرور تحت شبکه و حرفه ای .
از طرفی هم هاست ها vps رو بدون کانفیگ می دن و فقط یه cent os نصب می کنن !
از این vps 15 تومنی ها کارم رو راه می اندازه .
از طرفی هم خیلی وقت برا یاد گرفتن کانفیگ سرور لینوکسی ندارم
یعنی خوندن network + , lpic 1 2 توی این زمان ممکن نیست.

به نظرتون من چیکار کنم
تنها هاست اشتراکی رو بگیرم ؟
برم vps بگیرم یکی رو پیدا کنم برام کانفیگ کنه تا اخرش که مثل هاست اشتراکی بشه ؟
اجرا این دستور exe چقدر مگه برا سرور خطرناکه که همه جلوش رو گرفتن؟

sajjad65
May 5th, 2014, 02:10
در vps دست خودتون است چه تنظیمات و کانفیگی انجام دهید ولی در هاست اشتراکی این امکان را نداری

ehsaun_kkt
May 8th, 2014, 01:02
با سلام
من یه برنامه ای نوشتم که توش باید یه فایل exec بشه و تقریبا تمام هاست های اشتراکی جز یکی به دلیل مسایل امنیتی این امکان رو برداشتن .
از طرفی من با لینوکس ترمینالی اشنایی دارم ولی نه در حد کانفیگ سرور تحت شبکه و حرفه ای .
از طرفی هم هاست ها vps رو بدون کانفیگ می دن و فقط یه cent os نصب می کنن !
از این vps 15 تومنی ها کارم رو راه می اندازه .
از طرفی هم خیلی وقت برا یاد گرفتن کانفیگ سرور لینوکسی ندارم
یعنی خوندن network + , lpic 1 2 توی این زمان ممکن نیست.

به نظرتون من چیکار کنم
تنها هاست اشتراکی رو بگیرم ؟
برم vps بگیرم یکی رو پیدا کنم برام کانفیگ کنه تا اخرش که مثل هاست اشتراکی بشه ؟
اجرا این دستور exe چقدر مگه برا سرور خطرناکه که همه جلوش رو گرفتن؟

كانفيگ كردن سرور كاري نداره

دل رو بزن به دريا ما هم اولش همينطور شروع كرديم

M.Abooali
May 8th, 2014, 03:59
شما فرض،

سرویس دهنده ای یافتید که این تابع ( - دستور غلط است! ) را غیر فعال نکرده باشد.

یا بر فرض خودتان سرور مجازی خرید کرده و کانفیگ کردین و این تابع روش فعال بود.


در هر صورت تابع exec() می تواند برای سرور مشکلاتی به همراه داشته باشد. جهت پیش گیری از این مشکلات امنیتی که البته از یک سو در صورت تعداد بالای درخواست موجب دان شدن سرور و از سمت دیگر بستر نفوذ هکرها را فراهم می کند، باید اقداماتی بکنید.

به طور مثال از توابع:



escapeshellarg() (http://au.php.net/manual/en/function.escapeshellarg.php)
escapeshellcmd() (http://au.php.net/manual/en/function.escapeshellcmd.php)


جهت ایمن سازی مقادیر تابع exec() قبل از ارسال استفاده کنید.

البته کاش میگفتین دقیقا به چه منظور از تابع exec() قصد استفاده را دارید، چون ممکن است راه حل خیلی ساده تری برای مقصود شما وجود داشته باشد.

mobintmu
May 8th, 2014, 17:50
شما فرض،

سرویس دهنده ای یافتید که این تابع ( - دستور غلط است! ) را غیر فعال نکرده باشد.

یا بر فرض خودتان سرور مجازی خرید کرده و کانفیگ کردین و این تابع روش فعال بود.


در هر صورت تابع exec() می تواند برای سرور مشکلاتی به همراه داشته باشد. جهت پیش گیری از این مشکلات امنیتی که البته از یک سو در صورت تعداد بالای درخواست موجب دان شدن سرور و از سمت دیگر بستر نفوذ هکرها را فراهم می کند، باید اقداماتی بکنید.

به طور مثال از توابع:



escapeshellarg() (http://au.php.net/manual/en/function.escapeshellarg.php)
escapeshellcmd() (http://au.php.net/manual/en/function.escapeshellcmd.php)


جهت ایمن سازی مقادیر تابع exec() قبل از ارسال استفاده کنید.

البته کاش میگفتین دقیقا به چه منظور از تابع exec() قصد استفاده را دارید، چون ممکن است راه حل خیلی ساده تری برای مقصود شما وجود داشته باشد.

دقیقا برای این کار !
starting a websockets server in php on shared hosting - Stack Overflow (http://stackoverflow.com/questions/17696344/starting-a-websockets-server-in-php-on-shared-hosting)

M.Abooali
May 8th, 2014, 21:39
تا اونجا که سواد من قد میده جوابی که در استک آور فلو داده شده است غلط است ! احتمالا پاسخ دهنده اصلا با هاست اشتراکی انگار آشنا نیست.


ببین دوست عزیز من هم در است آورفلو و هم اینجا جواب مسئله را میدم:

http://stackoverflow.com/questions/17696344/starting-a-websockets-server-in-php-on-shared-hosting/23548220#23548220

روش صحیح کار شما همان است که از طریق خط فرمان یا ترمینال کار را مدیریت کنید. بهتره قید این تابع را بزنید چون اساسا شما اگر از اون تابع یا توابع دیگر استفاده کنید دارید کار را از طریق وب سرور هندل می کنید که در نهایت وب سرور منتظر پاسخ پردازنده باید بنشیند و خوب عملا قرار نیست پاسخی از پردازنده دریافت شود و این خودش یک مشکل است. که برای حلش لازم است تغییراتی در اسکریپت خود بدهید که در استک آور فلو mattexx (http://stackoverflow.com/questions/17696344/starting-a-websockets-server-in-php-on-shared-hosting) راهنمایی مربوط را کرده است.

اما نکته مهم تر این است که اساسا کمپانی های هاست اشتراکی به شما دسترسی به این توابع را نمی دهند، چون عملا با فعال بودن این توابع به شما اجازه اجرای daemon داده خواهد شد که چنین دسترسی روی یک هاست اشتراکی برای یک کاربر اصلا منطقی نیست.

بنابراین نظر به کلیت ماجرا و موارد بالا، بنده توصیه میکنم برای رفع مشکل بهتره شما یک VPS تهیه کنید و روش مثلا از همین پانل های رایگان وب نصب کنید، که البته دسترسی به ترمینال هم دارید.

در مورد مشکل نصب پانل و نااشنا بودن شما با لینوکس، مشکلی نیست خیلی شرکت ها مثل خود ما (کدباکس)، در صورت درخواست مشتری برای دریافت سرور مجازی مدیریت شده با نرم افزارهای رایگان (که به لایسنس نیاز نداشته باشند) به طور رایگان حاضر هستند برای شما تنظیمات اولیه را انجام بدهند.

mobintmu
May 9th, 2014, 11:34
ممنون از راهنمایی شما

birmusical
October 10th, 2014, 21:16
دوست عزیز من بهتون پیشنهاد می کنم که اگر کاری که دارید رو سرور انجام میدید خیلی اهمیت داره، کانفیگش رو به شخص کار بلد بدید بهتره!