-
February 18th, 2009, 21:29
#1
مدیر کل
پیکربندی php , توابع امنیتی Htaccess
در این مقاله شما عزیزان با بهترین مقاله ای که درباره پیکربندی php است آشنا میشوید. این مقاله سطح متوسط به بالا میباشد.
غیر فعال کردن دسترسی و اداره کردن فایل ها بصورت ریموت و URLs
برای غیر فعال کردن این تابع از این تنظیم استفاده کنید :
كد:
allow_url_fopen = Off
برای محدود کردن بسیاری از حملات به برنامه های تحت وب میتوانید…
ریجستر گلوبال رو غیر فعال کنید ، زیرا این تابع به حمل کننده اجازه میدهد تا آزادانه در بیشتر حالات از
ضعف های برنامه نویسی استفاده کند ، فعال بودن این تابع ریسک بالایی برای سرور شماست و اگر
برنامه ای تحت وب دارید به فعال بودن نیاز دارد و یا برنامه نویس های شما به فعال بودن اون احتیاج دارن
بهتر است بیخیال اون ها بشید و بحرفشون گوش ندهید
خوشبختانه این تابع در php نسخه های ۴/۲/۰ به بالا بصورت معمول غیر فعال می باشد.
برای غیر فعال کردن این تابع از این تنظیم استفاده کنید :
كد:
register_globals = Off
یک راه حل برای فعال کردن این تابع در سرورهایی که غیر فعال کردن می باشد ، بدین صورت که در روت
فولدر هاست مورد نظر میتوانید فایل .htaccess رو باز کرده و این دستورالعمل رو در سطر اول به آن اضافه
کنید :
كد:
php_flag register_globals on
به قرار دادن این دستور در فایل .htaccess در فولدر روت توجه کنید.
محدود و مشخص کردن آنچه که php می توانید read و write کند :در اغلب اوقات برنامه و اسکریپت های
نوشته شده بزبان php احتیاج به دسترسی I/O به یک ساب فولدر ضروری در فایل سیستم دارد ، بعنوان
مثال :
كد:
/var/www/htdocs/files
در این حالت شما میتوانید دسترسی هرچی که fopen و هر کدام از دیگر توابعی که میتوانند read و write کنند را محدود کنید :
كد:
open_basedir = /var/www/htdocs/files
در این قسمت با حالت امن و یا Safe Mode :
در این حالت دسترسی به فایل هایی که توسط آپاچی مدیریت نمیشن غیر فعال میشه و دسترسی به خیلی از متغیرها ، توابع و همچنین اجرای برنامه های باینری غیر فعال میشن.
در حالت عادی safe mode برای برنامه نویسان و طراحان بسیار محدود کننده می باشد ، هرچند برای اینکه این حالت مورد پسند و در حالت دلخواه ما قرار گیرد راه متعددی وجود دارد. اما بزرگترین مشکل این حالت تنها بر میگردد به فایل هایی که توسط آپاچی مدیریت میشن، دارای دسترسی از طریق اسکریپت های بزبان php می باشند. شاید برنامه نویسان احتیاج به دسترسی به فایل هایی در محدوده مالکیت گروه های دیگر باشد و یا دسترسی به فایل هایی که توسط برنامه های دیگر بوجود می آیند باشد. در این حالت شما می توانید از تنظیم زیر برای انجام این دسترسی ها استفاده کنید :
كد:
safe_mode = Off
safe_mode_gid = On
با فعال بودن safe_mode_gid بجای safe_mode ، پی اچ پی ( PHP ) قادر به دسترسی به فایل هایی می باشد که خارج از محدوده و مالکیت آپاچی می باشد. خوب ممکن هست خیلی از توسعه دهندگان ، برنامه نویسان همزمان بروی یک سرور مشغول بکار باشند شما میتوانید آنها رو به گروه آپاچی اضافه کنید و آنها رو گروه عادی نمایید و یا هرچیزی که باید ست بشه.
safe_mode همچنین مفید برای جلوگیری از اجرای برنامه های باینری می باشد ، اما گاهی اوقات شما نیاز به اجرای برنامه های خاص دارید. در این حالت شما می توانید آنها را در یک دایرکتوری مانند /var/www/binaries قرار داده و از دستورالعمل زیر استفاده کنید :
كد:
safe_mode_exec_dir = /var/www/binaries
در نهایت ، جهت دسترسی به برخی متغییرها از تنظیمات زیر استفاده کنید ، بشرطی که توسط یک کاما از لیست پیشوند ها جدا شده باشد. تنها متغییرهایی که نام آنها با این پیشوندها شروع شود قادر به دسترسی می باشند :
كد:
safe_mode_allowed_env_vars = PHP_
یکی از ایده های بسیار خوب همیشه محدود کردن مدت زمان اجراهای PHP ، مصرف حافظه، ارسال و آپلود دیتا بوده است.
برای اعمال آنها دستورالعمل های زیر را انجام دهید :
كد:
بیشترین مدت زمان اجرای اسکریپت ؛ max_execution_time = 30
حداکثر زمان مصرف شده جهت تجزیه ورودی ؛ max_input_time = 60
بیشترین مقدار استفاده یک اسکریپت از حافظه ؛ memory_limit = 16M
بیشترین حجم مجاز برای آپلود ؛ upload_max_filesize = 2M
حداکثر حجم ارسال ؛ post_max_size = 8M
نکته : اصلاً نیازی به گفتن من نیست ، شما میبایست مقدار توابع بالا را بمیزان استفاده و کارائی مورد نیاز کم و زیاد کنید.
محدود کردن دسترسی به فایلهای مشخص شده :
خیلی از فایل های نمیبایستی که توسط کاربران شما مورد دسترسی قرار گیرند ، خیلی از توسعه دهندگان به این عامل نیاز دارند اما ، نکته مهم اینجاست که این فایل ها چون تحت نظارت و تجزیه و تحلیل موتور PHP قرار ندارند قابل دسترسی توسط دیگران خواهد بود و سورس فایلها براحتی قابل نمایش خواهد بود ، بطور مثال :
كد:
http://www.example.com/includes/settings.inc
خیلی از این فایل ها محتوی اطلاعات مهمی از قبیل پسورد MySQL و … می باشند ، برای همین شما می بایست مطمئن شوید تا کاربران به این فایل ها دسترسی ندارند. فایل هایی از این قبیل :
كد:
.sql, .mysql, and .pgsql
نمونه دیگر میتوان به فایل های بک آپ و یا پشتیبان اشاره کرد. خیلی از مشترکان از فایل ها و دیتابیس های خود پشتیبان تهیه کرده و آنها را در کنار فایل های اصلی و یا مسیری که قابل دسترسی می باشد قرار میدهند. بر فرض مثال اگر شما فایل index.php را ویرایش کنید فایل اصلی با نام index.php~ در کنار فایل ویرایش شده قرار میگیرد ، و چون با ~ تمام میشود دیگر تحت مدیریت و نظارت PHP نخواهد بود ! و اگر کاربری آنرا بشکل زیر فرا بخواند میتواند محتویات داخل آن را بسادگی مشاهده کند :
كد:
http://www.example.com/index.php~
برای دوری کردن از این ریسک ، شما میتوانید از این دستور العمل آپاچی استفاده کنید :
كد:
<FilesMatch "\.(inc .*sql .*~)$">
order allow ,deny
Deny from all
</FilesMatch>
میتوانید این دستور را داخل یک فایل .htaccess و یا در تنظیمات پیکربندی آپاچی قرار دهید. افزودن فایل فرمت های دیگر نیز بهمین شکل میسر می باشد.
برای پیش رفت در علم آسانسوری وجود ندارد پله ها را باید پیاده رفت /./ همیشه این یادتان باشد که دست بالای دست بسیار است.
يادمان باشد براي يك بار ايستادن صد ها بار افتاده ايم /./ بک آپ مهمترین رمز موفقیت هاستینگ /./ امنیت مطلق نیست.
ارتباط مستقیم با من :
Admin -{(@)}- WebHostingTalk . ir
-
تعداد تشکر ها ازVahid به دلیل پست مفید
-
February 18th, 2009 21:29
# ADS
-
February 19th, 2009, 11:41
#2
پاسخ : پیکربندی php , توابع امنیتی Htaccess
امنیت مطلق است.
همیشه این یادتان باشد که دست بالای دست بسیار است!
برای امن کردنش هم AllowOverRide فایل .htaccess بردارید که نشه روی فایل های تنظیمات تغییرات ایجاد کرد !
-
تعداد تشکر ها از KamranOnline به دلیل پست مفید
-
February 20th, 2009, 11:24
#3
مدیر کل
پاسخ : پیکربندی php , توابع امنیتی Htaccess

نوشته اصلی توسط
KamranOnline
امنیت مطلق است.
همیشه این یادتان باشد که دست بالای دست بسیار است!
برای امن کردنش هم AllowOverRide فایل .htaccess بردارید که نشه روی فایل های تنظیمات تغییرات ایجاد کرد !
:oops:
برای پیش رفت در علم آسانسوری وجود ندارد پله ها را باید پیاده رفت /./ همیشه این یادتان باشد که دست بالای دست بسیار است.
يادمان باشد براي يك بار ايستادن صد ها بار افتاده ايم /./ بک آپ مهمترین رمز موفقیت هاستینگ /./ امنیت مطلق نیست.
ارتباط مستقیم با من :
Admin -{(@)}- WebHostingTalk . ir
-
تعداد تشکر ها از Vahid به دلیل پست مفید
-
March 29th, 2009, 11:25
#4
پاسخ : پیکربندی php , توابع امنیتی Htaccess
آقا این فایل php.ini کجای سرور بود؟ cpanel نصبه. قبلا چنجش کردم اما حالا گمش کردم دوباره...
-
تعداد تشکر ها از Sajad به دلیل پست مفید
-
March 29th, 2009, 11:33
#5
پاسخ : پیکربندی php , توابع امنیتی Htaccess
/usr/local/lib
این بود ؟ درسته؟ چرا از هر فایلی چند تا و چندجا تو سرور هست؟ مال من اینطوریه یا کلا همه جا همینه؟
-
تعداد تشکر ها از Sajad به دلیل پست مفید
-
March 29th, 2009, 15:26
#6
مدیر کل
پاسخ : پیکربندی php , توابع امنیتی Htaccess
پیداش کن
find / -name php.ini
برای پیش رفت در علم آسانسوری وجود ندارد پله ها را باید پیاده رفت /./ همیشه این یادتان باشد که دست بالای دست بسیار است.
يادمان باشد براي يك بار ايستادن صد ها بار افتاده ايم /./ بک آپ مهمترین رمز موفقیت هاستینگ /./ امنیت مطلق نیست.
ارتباط مستقیم با من :
Admin -{(@)}- WebHostingTalk . ir
-
تعداد تشکر ها از Vahid به دلیل پست مفید
-
March 30th, 2009, 01:48
#7
پاسخ : پیکربندی php , توابع امنیتی Htaccess

نوشته اصلی توسط
M4$T3R
پیداش کن
find / -name php.ini
سلام .
ممنون ، بنده سرچ کردم و . . .
/etc/php.ini
/root/.etc/misc/php.ini
/usr/lib/lxadminphp/zend/etc/php.ini
/usr/local/lxlabs/lxadmin/httpdocs/htmllib/filecore/php.ini
/usr/local/lxlabs/lxadmin/httpdocs/htmllib/filecore/lxetc/misc/php.ini
/usr/local/lxlabs/ext/php/etc/php.ini
برای پیکربندی ، کدام را ویرایش کنم ؟
مادر ، ایران ، عشق !
حرف من حرف خودم نیست ، حرف خاک حرف ریشست ، حرف دیروز ندیده ، حرف فردا و همیشست ، صحبت سکوت سرده . . .
حرف تردید یه نسله ، میون رفتن و موندن،بین خوابیدن تا ظهر یا دم سحر پریدن. . .
یکی باید بگه آخر چرا رنگه ما پریده ، چرا با این همه عینک هیچکسی مارو ندیده .
-
تعداد تشکر ها از tooshost به دلیل پست مفید
-
March 30th, 2009, 03:13
#8
مدیر کل
پاسخ : پیکربندی php , توابع امنیتی Htaccess
تا جایی که یادم هست lxadmin به هر یوزر یه php.ini اختصاصی میده
شما برای اینکه بدونی php.ini که العان داری استفاده میکنی کجاست این کد رو توی یه فایل php سیو کن و ران کن روی سرورت
وقتی بازش کردی configoration رو میگه کجاست
دیفالت خود lxadmin هم /etc/php.ini هست
برای پیش رفت در علم آسانسوری وجود ندارد پله ها را باید پیاده رفت /./ همیشه این یادتان باشد که دست بالای دست بسیار است.
يادمان باشد براي يك بار ايستادن صد ها بار افتاده ايم /./ بک آپ مهمترین رمز موفقیت هاستینگ /./ امنیت مطلق نیست.
ارتباط مستقیم با من :
Admin -{(@)}- WebHostingTalk . ir
-
تعداد تشکر ها ازVahid به دلیل پست مفید