علیرضا ساجدی
6 سال پیش توسط علیرضا ساجدی مطرح شد
17 پاسخ

امنیت php

سلام به دوستان راکتی ,
چطوری میتونم امنیت یک سایتphp را بالا ببرم
(لطفا کاملا توضیح داده شود)


ثبت پرسش جدید
علی اسماعیلی
تخصص : php Laravel
@aliesmaili.code 6 سال پیش مطرح شد
1

-اعتبار سنجی تمام داده های ورودی
-هش کردن پسورد کاربر ها
جلوگیری از حملات SQL Injection
جلوگیری از حملات xss
-محافظت در مقابل CSRF
-احراز هویت
-فعال سازی ssl
و....

-


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش آپدیت شد
2

سلام بر شما
یه بخش از امنیت سایت بر میگرده به جایی که دارید میزبانی میشید
به نظر من 60 درصدش!
سرور باید درست کانفیگ شده باشه ، پنلش و ... بروز باشه
اما اون میزانی که شما باید دقت به خرج بدید برای سورستون :
1) برای اتصال به پایگاه داده از PDO استفاده کنید
2) برای وارد کردن اطلاعات در دیتابیس از یه فیلتری ، چیزی ردشون کنید! که موارد مخرب وارد دیتابیس نشن!
3) قیمت آپلود فایل در PHP مهم ترین هست که بتونید فیلتری بزارید که محدودیت پسوندی و محدودیت حجمی اعمال کنه!
4) از رمز نگاری پسورد ها و دیتاهای مختلف استفاده کنید
5) موقع احرازهویت یوزر پسورد خالی نباشه ، موارد دیگه مثل کد فعال سازی پیامک بشه ، ایمیل ارسال بشه و ...

پیشنهاد برای این که در این زمینه بتونید به بالاترین سطح ممکن برسید ، استفاده از فریم ورکا مثل لاراول هست که روی امنیت بسیار خوب کار کرده !
تمامی موارد بالا رو حتی اضافه تر به پروژه شما میده!

اما جایی که میزبانی میشید خیلی مهمه ، انتی ویروس ، آنتی شلر ، کانفیگ های درست ، این موارد رو باید داشته باشه!


علیرضا ساجدی
تخصص : Laravel,Vuejs
@alireza2000sajedi 6 سال پیش مطرح شد
0

@Alimotreb
درود
لطفاً یکم قسمت دوم رو توضیح میدید


علیرضا ساجدی
تخصص : Laravel,Vuejs
@alireza2000sajedi 6 سال پیش آپدیت شد
0

بنظرتون مشکل اساسی php در امنیت چیه؟
بنظرتون این PDF کامله
http://s8.picofile.com/file/8340893368/%D8%A7%D9%85%D9%86%DB%8C%D8%AA_%D8%AF%D8%B1_php.pdf.html


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد
3

سلام و درود
در ادامه ی پاسخ ها : @alireza2000sajedi
ببیند من خودم همیشه این کار رو میکنم هر داده ای که چه با متد گت میاد چه پشت ، چه از داخل فرمه چه با ایجکسه
چه تو اینپوت ها چه هر جایی رو اول از یه فانکشنی که کار اون فانکشن پاکسازیش هست رد میکنم
این تابع یه ورودی که داده های شما هست رو میگیره ، بعد دیگه پاکسازی میکنه
strip_tags
htmlentities
stripslashes
htmlspecialchars
mysqli_real_escape_string

داده هارو از این فیلتر ها که در قالب یه فانکشن هست ردشون میکنم!
توی stackoverflow سرچ کنید توابع خوبی برای ایمن سازی داده ها هست
که داده مخرب وارد دیتابیس و جاهای دیگه نشه


don_inter
تخصص : web developer
@intersubjektiv 5 سال پیش مطرح شد
0

سلام
نمیدونم جای درستی دارم سوالم رو مطرح میکنم یا نه چون اولین بارمه برای همین نمیدونم روال طرح سوال به چه صورته
اما سوالم درباره امنیت هستش
در وب سایت هایی مثل فروشگاهی که آی دی اون کالا به آدرس بار ارسال میشه و کاربر دستی هم میتونه با تغییر آی دی به محصول دیگه دسترسی پیدا کنه آیا امنیت به خطر میافته ؟
و اینکه چطور میشه این موضوع رو از آدرس بار حذف کرد که نشون نده
پیشاپیش ممنون از راهنمایی شما دوستان ☺️


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@intersubjektiv

یه بحث ویوو هست که شما دارید میبینید
یه بحث ورود دیتا به سمت سیستم و ذخیره اون هست که باید مراقبت های لازمه ایجاد بشه
اینکه شما به جای عدد 1 محصول عدد 100 رو میزنید و میاره این اوکیه !
اما اینکه به جای عدد 100 یه کوئری به دیتابیس بنویسید و به اصطلاح SQL INJECTION رو پیاده سازی کنید یه بحث دیگه هست!

اینکه یه نفر با یه سطح دسترسی کاربر به جای عدد 1 عدد 100 رو بزنید اوکیه
اما اینکه فردی که به فرض ثبت نام نکرده یا سطح دسترسی نداره عدد بزنه خروجی بگیره این مشکل داره!
سطح دسترسی ها
موارد ارسالی به سمت سرور
همه این موارد باید چک بشه

اینکه چطور از آدرس باز حذف کنید! پاسخ واضحه
متد GET نزنید!
POST بزنید!


don_inter
تخصص : web developer
@intersubjektiv 5 سال پیش مطرح شد
0

ممنون از راهنماییت دوست عزیز
@Alimotreb
بحث سیژن رو رعایت کردم و همینطور جلوی حملات اینجکشن رو هم گرفتم و از Post هم برای اینرست اطلاعات استفاده کردم فقط آی دی رو به آدرس بار فرستادم که بتونم در برخی کارهای دیگه راحتر باشم ولی چون دیدم با تغییر دستی کاربر میزنه میتونه به لیست کالای دیگه بره این یک مقدار برام سوال برانگیز شده که آیا نکته بحث های امنیت دیگه ای مطرح باشه و یا این کار یه کار آماتورگون است یا چی !
چون در برخی سایتها میبینم اصلا چیزی به بالا ارسال نمیشه و هیچ راهی برای تغییر دستی وجود نداره برام سوال شد :)


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش آپدیت شد
1

سلام
@intersubjektiv

اینکه شما چی تو آدرس بار میبینید ، هر عددی هر چیزی
باید متعلق به کاربر مشخص باشه
به فرض
یه کاربر ( کاربر شماره 1 ) شماره فاکتور 1111 داره
خب این فاکتور متعلق به یه کاربر مشخصه!
اگر یه کاربر دیگه ( کاربر شماره 2) بیاد تو صفحه فاکتوراش که به فرض اینه
http://localhost.com/invoice.php?id=1111
این رو بزنه
بعد مشاهده کنه فاکتور رو ، این باگه دیگه!
باید ارور بهش بده بگه این فاکتور برای شما نیست ! یا همچین فاکتوری برای شما موجود نمیباشد!
اما اینکه هر عددی اون بالا باشه طوری نیست!

خیلی سایت ها هم از متد های بروز SPA استفاده میکنند که این موارد خیلی کم دیده میشه دیگه
سرچ کنید راجبش توی گوگل متوجه میشید!


don_inter
تخصص : web developer
@intersubjektiv 5 سال پیش مطرح شد
0

@Alimotreb
نه بحث فاکتور مسلما همینطوری هستش که میفرمایید و بحث سیژن هستش که رعایت نکردنش طبیعتا یک خطاست
بگذارید یک مثال عینی بزنم البته امیدوارم مثالم سبب بروز سوتفاهم یا مورد خاصی نشه در آینده و من هیچ شناختی ازین سایت ندارم صرفا فقط در سرچی که کردم یه مورد مشابهه پیدا کردم از منظورم
http://itsky.ir/product/904/%D9%82%DB%8C%D9%85%D8%AA-%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%AA%DB%8C%DA%A9-Mikrotik-RB921UAGS-5SHPacD-NM-NetMetal-5-%D9%86%D8%B5%D8%A8-%DA%A9%D8%A7%D9%86%D9%81%DB%8C%DA%AF-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%81%D8%B1%D9%88%D8%B4-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA%DB%8C
دراین سایت اگر شما دستی عدد 904 رو به 903 تغییر بدید نوع محصول تغییر میکنه حتی اگر عضو هم نباشید
برام سوال بود که ایا این موضوع خطاست یا یه آماتورگونه است اینجورنوشتن یا خیر کاملا طبیعیه و هیچ اشکال نداره
چون من دقیقا از همین روند برای سایت خودمم برای معرفی محصولاتم دارم استفاده میکنم.


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش آپدیت شد
1

سلام
@intersubjektiv

یه چیز کاملا طبیعیه!
هیچ خطر امنیتی هم نداره!
شما دارید دیتا رو لود میکنید
مشکلی نداره که!

میشه بهبود داد با متد های SPA و ....

ولی از نظر امنیتی خیر مشکلی نداره


don_inter
تخصص : web developer
@intersubjektiv 5 سال پیش مطرح شد
0

@Alimotreb
ممنون از راهنماییت دوست عزیز خیالم و راحت کردی 😊🙏
فقط من سرچ هایی که زدم درباره Spa چیز بخصوصی پیدا نکردم که بتونم مطلبی ازش یاد بگیرم چون سرچهام موفق نبود درباره اش دقیقا نمیدونم چیه 🙈
اگر زحمتی برات نباشه ممنون میشم که برام لینکی بفرستی که بتونم بهتر درکش کنم
( زبان مطلب مهم نی )


ایلیا غلامی
تخصص : برنامه نویس
@IliyaGholami 2 سال پیش مطرح شد
-3

البته باید از لحاظ سرور و هاست هم اوکی باشه امنیت , در ضمن جلوی حملات دیداس هم بگیر


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 2 سال پیش مطرح شد
0

@ilianazari869
سلام
لطفا به زمان این پرسش دقت بفرمایید (مال 3 سال پیش هست ...!!!) :
https://roocket.ir/discuss/%D9%88%DB%8C%DA%98%DA%AF%DB%8C-%D9%87%D8%A7%DB%8C-%D9%BE%D8%A7%D8%B3%D8%AE-%D8%AE%D9%88%D8%A8


هومن
تخصص : گرافیک، طراحی رابط کاربری، Bac...
@houman 2 سال پیش آپدیت شد
0

@ilianazari869
سلام،
داخل راکت سوالات مربوط به 10 سال پیشم موجوده و نیازی نیست بهشون جواب بدید و اینارو بیاریشون بالاتر خواهش میکنم به زمان سوال دقت کنید و راهنما و قوانین سایت راکت رو هم بخونید، از تجربی‌تون مشخصه تازه وارد هستید ❤️


ایلیا غلامی
تخصص : برنامه نویس
@IliyaGholami 2 سال پیش مطرح شد
-1

@hooman سلام بله ، ولی برای انجام ماموریت پاسخ دادم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام