رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

امنیت اطلاعات سرور


پست های پیشنهاد شده

سلام دوستان

من در حال طراحی یک برنامه هستم که یک سری اطلاعات رو به سرور ارسال  و یک سری اطلاعات رو هم دریافت میکنه... حالا میخواستم ببینم برای امنیت این اطلاعات چکار باید بکنم؟ البته اطلاعاتی که از کاربر میگیره خیلی محرمانه و امنیتی نیست. 

( فقط این رو اضافه کنم که سمت سرور رو با php   نوشتم و دیتابیس هم mysql هست و دریافت و انتقال داده ها با volley انجام میشه)

در ضمن از اونجایی که راه دریافت اطلاعات فقط برنامه اندروید هست و سایتی در کار نیست، من فکر کردم که نام کاربری و رمز عبور رو در خود برنامه ذخیره کنم. نظرتون چی هست؟ و به چه صورت ذخیره کنم مطمئن تر خواهد بود؟ یعنی در دیتابیس sqlite یا بوسیله sharedp... یا روش دیگه ای ذخیره کنم. ممنون میشم دوستان راهنمایی های لازم رو در رابطه با امنیت اطلاعات ( اون اندازه که برنامه خیلی شُل و ول و آبکی نباشه) انجام بدن.

ویرایش شده توسط davod56
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 21 ساعت قبل، davod56 گفته است :

سلام دوستان

من در حال طراحی یک برنامه هستم که یک سری اطلاعات رو به سرور ارسال  و یک سری اطلاعات رو هم دریافت میکنه... حالا میخواستم ببینم برای امنیت این اطلاعات چکار باید بکنم؟ البته اطلاعاتی که از کاربر میگیره خیلی محرمانه و امنیتی نیست. 

( فقط این رو اضافه کنم که سمت سرور رو با php   نوشتم و دیتابیس هم mysql هست و دریافت و انتقال داده ها با volley انجام میشه)

در ضمن از اونجایی که راه دریافت اطلاعات فقط برنامه اندروید هست و سایتی در کار نیست، من فکر کردم که نام کاربری و رمز عبور رو در خود برنامه ذخیره کنم. نظرتون چی هست؟ و به چه صورت ذخیره کنم مطمئن تر خواهد بود؟ یعنی در دیتابیس sqlite یا بوسیله sharedp... یا روش دیگه ای ذخیره کنم. ممنون میشم دوستان راهنمایی های لازم رو در رابطه با امنیت اطلاعات ( اون اندازه که برنامه خیلی شُل و ول و آبکی نباشه) انجام بدن.

سلام...

اطلاعات حیاتی رو همیشه سمت سرور ذخیره کن...

ذخیره کردن پسورد توی برنامه اصلا توصیه نمیشه، از همین روش معمول فرستادن اس ام اس به کاربر جهت ورود و عضویت استفاده کنید تا مشکلی پیش نیاد...

لو نرفتن پسورد و ایمیل کاربران همیشه جز اولویتها باید باشه که اگر اینکار رو درست انجام بدید و اگر اپ رو هک بکنن نهایتا چندتا لینک و متد ارسال گیرشون میاد که در بدترین شرایط یه حمله DDos میزنن که الان هم با توجه به اینکه اکثر سرورها سیستمهای امنیتی خوبی (هم سخت افزاری و هم نرم افزاری) برای مقابله با این نوع حملات دارن چندان چیز مهمی نیست مگر اینکه تعداد کاربرها چند ده میلیون باشه یا کلا به سرور مرکزی حمله کنن که طبیعتا همه سرورهای اون شرکتی که ازش هاست خریدید رو  به صورت موقت از کار میندازه ...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از پاسختون 

من برای ارسال اطلاعات و ذخیره اونها در دیتابیس دغدغه امنیت رو دارم.

بیشتر بخوام توضیح بدم 

نگاه کنید این کد php من برای دریافت اطلاعات و ذخیره در دیتابیس هست...

<?php
...

 $user_Name=$_POST["name"];
    $user_username=$_POST["username"];
    $user_pass=$_POST["password"];

        $con=mysqli_connect($host,$user,$password,$db_name);
        $sql="insert into tbl_client(name, username, password) values ('".$user_Name."','".$user_username."','".$user_pass."')";
        if(mysqli_query($con,$sql)){

        echo "Data insertion success...";
        }
          else
        {
            echo "Error while insertion... " ;
        }
        mysqli_close($con) ;

?>

الان این کد به همین صورت امن هست یا نه نیاز به یک سری کدهای دیگه داره؟

و برای جلوگیری از هک و دزدیدن اطلاعات کاربر چکارباید بکنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 33 دقیقه قبل، davod56 گفته است :

ممنون از پاسختون 

من برای ارسال اطلاعات و ذخیره اونها در دیتابیس دغدغه امنیت رو دارم.

بیشتر بخوام توضیح بدم 

نگاه کنید این کد php من برای دریافت اطلاعات و ذخیره در دیتابیس هست...


<?php
...

 $user_Name=$_POST["name"];
    $user_username=$_POST["username"];
    $user_pass=$_POST["password"];

        $con=mysqli_connect($host,$user,$password,$db_name);
        $sql="insert into tbl_client(name, username, password) values ('".$user_Name."','".$user_username."','".$user_pass."')";
        if(mysqli_query($con,$sql)){

        echo "Data insertion success...";
        }
          else
        {
            echo "Error while insertion... " ;
        }
        mysqli_close($con) ;

?>

الان این کد به همین صورت امن هست یا نه نیاز به یک سری کدهای دیگه داره؟

و برای جلوگیری از هک و دزدیدن اطلاعات کاربر چکارباید بکنم؟

باید اطلاعات حساس مثل رمز عبور رو به صورت hash شده در دیتابیس قرار بدید...

روش معمول این هست که به صورت md5 یا SHA اونها رو ذخیره کنید...

مثلا فرض کنید که یک function تحت عنوان createNewUser ساختید که اطلاعات رو وارد دیتابیس میکنه، حالا با این کدها اطلاعات رو میفرستیم داخل دیتابیس:(نحوه hash کردن پسورد)

if(!empty($username) && !empty($password) && !empty($email)){
        
        $hashed_password = md5($password);
        
        $json_registration = $userObject->createNewUser($username, $hashed_password, $email);
        
        echo json_encode($json_registration);
        
    }

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای ذخیره پسورد ها باید به صورت hash ذخیره کنید ، مثلا از نوع SHA که اکثرا از این نوع استفاده میکنند .

برای امنیت وب سرویسهاتون بهتره ، وب سرویس رو به صورت Restful بنویسید ...

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...