امنیت دیتابیس آنلاین

سوال

سلام بر دوستان عزیز

دوستان من یک اپ خرید و فروش شبیه برنامه دیوار نوشتم با این تفاوت که همه وسایل در اون رایگانه در واقع خریدار و فروشنده نداریم هدیه دهنده و هدیه گیرنده هستند اولین کار نسبتا حرفه ایم هست بیش از ۹۰ درصد کار انجام شده و اما بزرگترین مشکلی که دارم ذخیره داده ها به ویژه یوزرها و رمز ها در دیتابیس سمت سروره به این صورت که هیچ رمزگذاری برای داده های در هاست صورت نگرفته در واقع راه اصولیش رو بلد نیستم و تمام اطلاعات به صورت خام در هاست هستند که فکر نکنم باید چنین باشه. لطفا اگه کسی مطلبی می دونه و تجربه ای داره کمک کنه در ضمن تقاضا می کنم اگه پیشنهاد، تذکر، هشدار و … که برای چنین برنامه هایی نیاز هست بفرمایید.
با تشکر از تمامی دوستان

در حال بررسی 0
, ۱۴۰۰/۸/۲۹ ۲۰:۱۰:۲۲ 2 پاسخ کاربر تازه 0

پاسخ ها ( 2 )

    1
    ۱۴۰۰/۸/۳۰ ۰:۳۰:۳۷

    سلام.

    راه اصولیش اینه که مثلا با الگوریتم md5 که php کارها بیشتر باهاش آشنا هستند، رمزعبور رو کد کنی و داخل دیتابیس بفرستی

    راه غیر اصولیش هم اینه که رمزعبور هر کاربر رو توی گوشیه خود اون کاربره ذخیره کنی

    1
    ۱۴۰۰/۸/۳۰ ۱۰:۱۸:۳۹

    سلام دوست عزیز

    همونطوری که آقا مرتضی فرمودند، اولین کاری که باید انجام بدید اینه که رمزها رو دیتابیس با الگوریتم هایی مثل SHA,md5 یا ترکیبی از هر دو استفاده کنی و رمزها به صورت هش شده در دیتابیس انجام بدی.

    دومین کاری که باید انجام بدید؛ اینه که باگ sql injection رو به صورت کامل در سمت سرور رفع کنی، باگ sql injection جزو خطرناک ترین باگ های زبان PHP هست که اگه رفع نشه به راحتی هکر میتونه به دیتابیس نفوذ کنه و اطلاعات دیتابیس رو بکشه بیرون.

    سومن کار فیلتر داده های ورودی هست؛ توضیح مختصری بخوام بدم این میشه که مثلا شما یک فرم جستجو داری و که اگه اطلاعاتی که در فرم جستجو وارد میشه و به سمت سرور فرستاده بشه، فیلتر نشه(مثلا کاراکتر غیر مجاز اگه وارد بشه باید فیلتر بشه و عبارت های اینچنینی) هکر میتونه کدهای مخربی رو اجرا کنه، که برای این هم PHP یک تابع پیشفرض به اسم htmlentities و htmlspecialchars داره که هر اطلاعاتی رو خواستی سمت سرور ارسال یا از سمت سرور دریافت کنی بهتره که از این تابع عبور بدی.

    از این سه گامی که معرفی کردم، گام دوم خطرناک ترینشون هست.

    یک باگ دیگه هم داریم به اسم csrf، که قبلا آموزشش رو گذاشتم: آموزش رفع باگ CSRF

    موفق باشید.

ارسال یک پاسخ