loading...
بالاتر از امنیت
گروه امنیتی افتاب بازدید : 410 سه شنبه 30 مهر 1392 نظرات (0)

 

با توجه به اینکه امنیت بحث مهمی هست و اغلب افراد از cms های آماده که خود آگاه به جزئیات برنامه نویسی آنها بدلیل پیچیدگی کدنویسی، رمزنگاری شدن آنها نیستند فلذا توصیه می شود که اسکریپت اختصاصی بصورت اوپن سورس از کارفرمای خود دریافت نمائید و حدالامکان از سیستم های مدیریت محتوای آماده بدلایل نقص امنیتی که با نصب فرضا یک کامپوننت میتوانند برای سایت شما ایجاد کنند جدا خودداری نمائید مگر تحت شرایطی که خود صلاح می دانید.

همانطور که اطلاع دارید بیشتر هکرها از طریق اطلاعاتی که خود آن سایت به دلیل ضعف کد نویسی و رعایت نکردن موارد امنیتی همچون نمایش خطا یا error به کاربر، در جهت نفوذ به آن سایت و استخراج داده های ذخیره شده در پایگاه داده آن سایت و در نهایت نفوذ به سرور اقدام می کنند بعبارتی از نمایش دادن خطاهایی که مربوط به مشکلات کد برنامه شما هستند به کاربر به شدت پرهیز کنید. این کار ممکن است اطلاعاتی را در مورد پیکربندی و ساختار برنامه شما به نفوذگر بدهد که نفوذگر از این اطلاعات میتواند سوء استفاده کند. برای جلوگیری از نمایش خطاها به کاربر، اگر زبان برنامه نویسی سایت شما PHP هست کافیست تنظیمات زیر را در فایل php.ini اعمال کنید:

display_errors=off

log_errors=on

این تنظیمات PHP را وادار می کند که به جای آنکه خطاها را به کاربر نشان دهد، آنها را در فایلی ذخیره کند. در صورتی که شما فایل خاصی را برای ذخیره خطاها در نظر گرفته‌اید، باید مسیر فایل و اسم آن را مشخص کنید:

error_log=/var/log/php.error.log

 

معمولا در تمامی هاست‌ها ، خطاها نمایش داده می‌شوند و شما به فایل php.ini مستقیما دسترسی ندارید ولی از طریق کدنویسی می‌توانید تغییرات را در فایل php.ini برای سایت خودتان اعمال کنید.
 

برای این منظور کافیست error_reporting(0); برای غیر فعال کردن نمایش خطاها و error_reporting(E_ALL) برای نمایش کلیه خطاها و یا سایر ساختارهای مربوط به گزارش خطاها که در مستندات پیکربندی PHP موجود هستند متناسب با کاربری سایت خود بانجام رسانید.

بطور مثال، فرض کنید شما در هنگام اتصال به پایگاه داده سهوا دچار اشتباه در یکی از پارامترهای ان شده باشید یا پایگاه داده شما از کار افتاده باشد و شما می‌خواهید با تابع mysql_connect() به پایگاه داده سایت خود وصل شوید، PHP این خطا را نشان خواهد داد:

 

b>Warning: Can’t connect to MySQL server on ‘db.example.com’(111) in /www/docroot/example.php on line
3

یک نفوذگر با مشاهده این اعلام خطا، اسم پایگاه داده را خواهد دانست. نمایش این‌گونه اطلاعات به نفوذگران، حمله به وب‌سایت را برای انها آسان‌تر می‌سازد. برای اطلاعات بیشتر در مورد پیکربندی کردن فایلی که خطاها را ثبت می‌کند، مراجعه کنید به :

http://www.php.net/configuration

منبع:

PHP Cookbook By David Sklar,Adam Trachtenberg

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • پیوندهای روزانه
    آمار سایت
  • کل مطالب : 599
  • کل نظرات : 20
  • افراد آنلاین : 2
  • تعداد اعضا : 42
  • آی پی امروز : 50
  • آی پی دیروز : 52
  • بازدید امروز : 158
  • باردید دیروز : 227
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 2,258
  • بازدید ماه : 5,801
  • بازدید سال : 9,969
  • بازدید کلی : 568,532