بستن دسترسی کاربران در پوشه public_html


#1

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


#2

من الان یه ربات ساختم و توی سرور اپلود کردم مشکل این جاست که وقتی کاربر مسیر ربات منو توی urlبزنه سورسش نمایش داده میشه که اطلاعات مهمی داخلش هست


#3

سلام شما می‌توانید در پنل مدیریت هاست خود (Cpanel, DirectAdmin,…) برای هر دایرکتوری سطح دسترسی قرار بدید یک نمونه از سطح دسترسی که من قرار دادم:

Screenshot%20from%202019-01-22%2001-51-02


#4

خوب بعد تلگرام نمیتونه به فایل دسترسی داشته باشه


#5

هرچی تو public_html باشه، وب سرور وظیفه داره به کاربر نشون بده! فایل رو بذارید یه جای دیگه!

این رباتی که شما میگید همون ربات پایتونه؟ اگه همونه که اصلا نباید اینجا باشه!
توی دایرکتوری public_html فقط باید فایلهای html css js php و اینطور چیزها باشه. اسکریپت پایتون که توسط apache و nginx اجرا نمیشه که شما گذاشتیش اونجا!


#6

خوب کجا بزارم که بعدش به سرور ها تلگرام هم بتونم وصلش کنم


#7

مطالب خیلی خیلی زیادی هست که باید بدونید. توضیحش خیلی سخته!


تنها کدی که باید توی public_html قرار بگیره، کدهای php هستن. اگه سایتی ساختید که با هر زبان دیگه‌ای کار میکنه (پایتون، روبی، جاوا، هر چیزی!) باید جای دیگه باشه و وب‌سرورتون (که بهتره nginx باشه) ریکوئست کاربرها رو دریافت کنه و بفرسته به نرم‌افزار شما تا پردازش بشه و جوابش به وب‌سرور داده بشه تا برگردونه به کاربر.

توضیحش واقعا خیلی سخته. هر جمله‌ای که نوشتم حداقل یه استثنا داره.
فقط میتونم بگم که به این راحتی نیست و نیاز به تجربه در زمینه‌های مشابه داره (مثلا تا حالا سایتی با python + flask یا python + django ساختید؟ و روی سرور ران کردید؟)


نرم‌افزاری که نوشتید، میتونه به شکل یه وبسایت کار کنه که یه webhook میدید به سرور تلگرام و سرور تلگرام مثل یه یوزر معمولی بهتون ریکوئست میزنه و جواب میگیره.
میتونه به شکل یه نرم‌افزار باشه که اصلا نیازی به webserver نداره و یه websocket میزنه به سرور تلگرام و تبادل دیتا میکنن.

کانفیگ و راه‌اندازی هرکدوم از اینا هم متفاوته (یه بخشهاییش مثل همه)


اینطور که من فهمیدم، شما اصلا سرور (vps) ندارید و اینو دارید روی یه هاست قرار میدید! هاست نمیتونه کد پایتون اجرا کنه. فقط php


#8

نه من سرور دارم بعدش هم این که من اطلاعات رو به صورت webhook به تلگرام فرستادم و درست هم هست ولس مشکل اصلی اینجا هستش که اگه کاربری مسیر فایل رو توی سرور من بزنه محتوا داخلش رو میبینه


#9

خوب اگه تلگرام اوکیه و وصل میشه به نرم‌افزار شما، پس تنها کاری که لازمه انجام بشه اینه که پروژه رو از public_html خارج کنید. همین!

پروژه‌ی پایتون نیاز نداره (و نباید) داخل public_html باشه.
یه یوزر بسازید بدون قابلیت لاگین و بدون دسترسی sudo و فایلها رو بندازید توی home اون یوزر، کانفیگها رو آدرس دهی کنید به اون دایرکتوری ها.