PDA

View Full Version : سوال: بالا بردن امنیت



habibvafapour
پنج شنبه 05 بهمن 1391, 11:26 صبح
سلام از دوستان کسی هست که درباره بالابردن امنیت در php کمی توضیح بده
و بگه از چه توابعی استفاده کنیم نوع سینتکس رو چه جوری بنویسیم
و راه هایی که بتوانیم از کدهای php مراقبت کنیم چیست
راسیاتش هنوز نمیدونم هکرها سرور رو هک میکنن یا از نوع کد نویسی ما سایت رو هک میکنن

Unique
پنج شنبه 05 بهمن 1391, 14:49 عصر
راه های نفوذ زیاد هستند ، از مهمترین هاشون حملات sql injection و xss هستند ، شما باید آروم آروم جلو برین ، از نوع سوال معلومه تجربه خیلی زیادی ندارین ، در مورد مواردی که گفتم جستجو کنید تا کم کم موارد دیگه را هم دنبال کنید.

habibvafapour
پنج شنبه 05 بهمن 1391, 23:36 عصر
ممنون به خاطر جواب
خوب معلوم هست که تجربه ندارم که دارم سوال میپرسم من فقط بلد هستم قالب و ماژول و کامپوننت جوملا طراحی کنم
توی این یک سال هم که دارم به این فروم سرمیزنم ندیدم کسی درباره امنیت سوال جدی پرسیده باشه انگاه همه عالم هستن

siavashsay
پنج شنبه 05 بهمن 1391, 23:57 عصر
توی این یک سال هم که دارم به این فروم سرمیزنم ندیدم کسی درباره امنیت سوال جدی پرسیده باشه انگاه همه عالم هستن
شاید نپرسیده باشه ! ( شاید ) اما تاپیک در مورد امنیت زیاد هست !

راسیاتش هنوز نمیدونم هکرها سرور رو هک میکنن یا از نوع کد نویسی ما سایت رو هک میکنن
هر 2 !
سرور هم قابل هک شدن هست ! البته نه اینه سرور رو هک کنن ! بلکه از سریق سرور هک میکنن ! واسه همین بهتره از هاست های معروف و قوی استفاده کنید !
اکثر هک شدن ها هم از طریق کدنویسی ما هست ! به قول دوستمون جناب unique از طریق SQL INJECTION - XSS که معروفترین هاش هستند !
البته انواع دیگه مثل Session Fixation - JS INJECTION - LFI - RFI - و ... هم هستند !
Sql injection که یکی از معروفترین ها هست به اینصورت هست که هکر میاد از اشتباهات شما در چک کردن ورودی ها استفاده میکنه ! واسه همینه که همیشه میگن :
هیچ موقع به ورودی های کاربر اطمینان نکن
شما باید همه فیلدهایی که به عنوان نوعی ورودی از طرف کاربر محسوب میشن رو چک و اونا رو تا حد امکان محدود کنید !
مخصوصا برای ورودهایی که برای چک کردن و استخراج از دیتابیس به کار میرن ! مثل فیلد USERNAME - PASSWORD
برای جلوگیری از هک شدن باید این فیلدها رو محدود کنید ! مثلا برای username فقط از کاراکترهایی مثل a-z , 0-9 و نهایتا _ ( underline ) استفاده کنید و چک کنید اگر کاربر کاراکتر غیر از این 3 نوع وارد کرد برنامه خطا رو صادر و اجرای بقیه کدها جلوگیری کنه !
همچنین علاوه بر مورد فوق برای فیلدهایی که ارتباط با دیتابیس دارن باید حتما از تابع mysql_real_escape_string که کارش فیلتر کردن ورودی برای دیتابیس هست رو استفاده کنید ! (البته توابع دیگه ای هم هستن )
در هر صورت نمیخوام موضوع رو زیاد باز کنم !
برای اطلاعات بیشتر میتونید کتابهای جناب استخریان رو از اینترنت دانلود کنید !
موفق باشید !

habibvafapour
سه شنبه 17 اردیبهشت 1392, 10:38 صبح
از دوستان کسی هست که اسکریپت آماده در اختیارم بزاره که بیشتر مباحث امنیتی لحاظ شده باشه.
ممنون