PDA

نسخه کامل مشاهده نسخه کامل : بررسی امنیت سایت در برنامه نویسی



MATRIX reloaded
17-01-2009, 00:38
سلام
با توجه به این که هر سایتی مطرحی که احتمال حمله و سو استفاده وجود داره نیازمند امنیت خواهد بود این تاپیک رو ایجاد کردم تا با کمک دوستان حرفه ای و هر کسی که اطلاعاتی در زمینه database, php , inject , sql script داره مسائل امنیتی در سایت و حفره های نفوذی رو بررسی کنیم (البته تا جایی که دست ماست : یعنی برنامه نویس سایت)

بهتره خودم شروع کنم (البته با اجازه اساتید محترم):
بنظر من اولین و اساسی ترین حمله ها در اینترنت از طریق sql injection صورت می گیره که با یکسری عملیات حرفه ای کدهای sql رو از طریق متود های get یا post در سرور sql اجرا می کنن.
نمی خوام وارد بحث تخصصی این مبحث بشم چون می دونم حتی توی این فروم هم چند جا بحث شده اما یه function برای جلوگیری از inject نوشتم که برای دوستان میذارم (البته اگر ایرادی داشت دوستان می تونن تکمیلش کنن)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این تابع کاراکترهایی که در sql حالت اجرایی دارند رو تبدیل به کاراکتر های معادل و یا غیر فعال می کنه:
مثال: کاراکتر ' را به کاراکتر /' تبدیل می کنه.

MATRIX reloaded
17-01-2009, 00:45
برای جلوگیری از ورود کدهای html نیز می تونیم از تابع زیر استفاده کنیم تا تگ های html رو به معادل غیر اجرایی (فقط نمایشی ) تبدیل کنه
مثال: > رو به < تبدیل می کنه

تابع:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Bill Gates
17-01-2009, 00:49
برای جلوگیری از ورود کدهای html نیز می تونیم از تابع زیر استفاده کنیم تا تگ های html رو به معادل غیر اجرایی (فقط نمایشی ) تبدیل کنه
مثال: > رو به < تبدیل می کنهسلام
مرسی بابت کدهایی که قرار دادی


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MATRIX reloaded
17-01-2009, 01:19
مرسی حتما منتظرت هستم.

در ضمن:
یک مورد در مورد امنیت دیتابیس هم هست که شما می تونید از طریق کنترل پنل هاست و اگر دسترسی به سرور mysql داشتید از طریق تنظیمات mysql سطح دسترسی و عملیات روی دیتابیس مورد نظر را محدود کنید
مثلا drop را غیرفعال کنید.

MATRIX reloaded
17-01-2009, 19:47
از دوستانی تجربه دارن می خوام ضعف های امنیتی معمول و سطح بالا در یک برنامه تحت وب با php و روشهای حل اونا رو از این topic دریغ نکنند.

Bill Gates
19-01-2009, 17:22
سلام
ما هم کدمون رو قرار دادیم :31: ( پست ویرایش شده )
==
تا چند روز دیگه یه کد آماده میکنم که خیلی توپه واسه امنیت ( جلوگیری از حملات xss و sql injection ) که تمامی GET هایی که در صفحه انجام میشه رو با یکبار اجرا امن میکنه :31: تا چند روز دیگه کد نویسیش رو تمام میکنم

تشکر//

MATRIX reloaded
15-02-2009, 00:28
یک کلاس session که سیشن ها رو برای کنترل بیشتر وامنیت بالاتر در دیتابیس ذخیره می کنه!

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دیتابیس:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته این کلاس مربوط به kernel من هست.
برای استفاده باید برخی از توابع رو تغییر بدین مثل : simple_select update_query و...

MATRIX reloaded
15-02-2009, 00:29
این ها رو در فایل core.php لود کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MATRIX reloaded
15-02-2009, 00:31
این هم از کلاس safedata که می تونین توی فایل core لود کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MATRIX reloaded
15-02-2009, 00:32
کلاس capcha یا آنتی اسپم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نحوه استفاده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نحوه چک کردن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته باید بک گراندها و فونت هارو هم داشته باشید تا کار کنه!

MATRIX reloaded
21-02-2009, 20:39
دوستان اگه بهتر می تونن. ادامه بدن

MATRIX reloaded
03-03-2009, 23:17
یه تابع کاملتر برای چک کردن ورودی ها نوشتم که میتونید از این استفاده کنید . این کاملتره به نظرم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MATRIX reloaded
03-03-2009, 23:18
و در ضمن تابع زیر رو زمانی میشه بکار برد که به ورودی اجازه کدهای html رو میدیم ولی اجازه ورود تگ های حساس رو منع می کنیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

whisper
16-05-2009, 14:30
سلام
چطوری میشه از این کدا استفاده کرد و در چه مواقعی
البته ببخشید اگه خیلی مبتدی هست سوالم

3minar
27-07-2011, 17:02
اگر میشه نحوه استفاده از این کدها رو هم توضیح بدید. الان من نمی دونم این کدهارو کجا کپی کنم تا سایتم اینهارو استفاده کنه...
ممنون