View Full Version : امنیت در حذف و ویرایش
alireza_rashvand
دوشنبه 06 مرداد 1393, 18:13 عصر
سلام
داشتم حذف و ویرایش خبر توسط فرد ایجاد کنند خبر رو می نوشتم این سوال برام پیش اومد که چه راهی وجود داره که فرد نتونه با تغییر دادن دستی ID , (در ادرس بار یا تغییر در کد html) حذف و ویرایش خبر دیگه ای رو انجام بده؟
ببخشید سوالم خیلی شفاف نبود چون خودم هم گیج شدم... لطفا اگر توضیحی لازمه بگید بگم تا شفاف بشه...
121654
مثلا این عکس رو نگاه کنید (از این مقاله (http://www.dotnettips.info/post/1437/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%84%DB%8C%D9%86%DA%A9-%D8%A8%D8%A7-%DB%8C%DA%A9-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%A8%D9%88%D8%B3%DB%8C%D9%84%D9%87-html-helper)) اگر فرد ان 1 را به 2 تغییر بده ویرایش(حذف) خبر با کلید 2 رو انجام میده
چه راهی وجود داره که فردی که لاگین کرده فقط بتونه خبر های خودش رو ویرایش کنه؟
hadi0x7c7
دوشنبه 06 مرداد 1393, 18:41 عصر
باید برای خذف خبر از دکمه استفاده کنید فکر کنم!
ینی یه hidden input باشه که با سابمیت شدن فرم، از اونجا id خونده بشه.
minaforotan
سه شنبه 07 مرداد 1393, 16:29 عصر
شخصی که لاگین کرده رو پیدا میکنید
بعد در اکشنی که عمل ثبت ویرایش و انجام میده چک میکنید که ایا خبر من فیلد مدیرش برابر با همین مدیر ی هست که پیدا کردی؟؟؟
اگه اره که پس ویرایش کن
البته مسلما تو دیتابیس باید نویسنده هر خبر خب یک مدیر یا ... باشد
r4hgozar
چهارشنبه 08 مرداد 1393, 18:01 عصر
سلام.
البته اینی که وستان گفتن روشهای اصولی بود.
اما اگه مشکلتون id می تونید از یک GUID ها استفاده کنین. فکر نکنم دیگه امرا بتونه پیدا کنه کی به کیه.
alireza_rashvand
یک شنبه 12 مرداد 1393, 14:27 عصر
جواب (http://www.dotnettips.info/post/1437/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%84%DB%8C%D9%86%DA%A9-%D8%A8%D8%A7-%DB%8C%DA%A9-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%A8%D9%88%D8%B3%DB%8C%D9%84%D9%87-html-helper#comment-10305)اقای نصیری:
- وجود anti forgery token (http://www.dotnettips.info/post/821/asp-net-mvc-17) جهت مقابله با جعل صفحه و درخواست است.
- امکان رمزنگاری خودکار فیلدهای مخفی (http://www.dotnettips.info/post/1828/%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D9%81%DB%8C%D9%84%D8%AF%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%81%DB%8C-%D8%AF%D8%B1-asp-net-mvc) وجود دارد.
- بررسیهای سمت سرور هم جای خودشان را دارند و لازم هستند.
mohammadreza.najafipour
یک شنبه 12 مرداد 1393, 22:07 عصر
جواب (http://www.dotnettips.info/post/1437/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%84%DB%8C%D9%86%DA%A9-%D8%A8%D8%A7-%DB%8C%DA%A9-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%A8%D9%88%D8%B3%DB%8C%D9%84%D9%87-html-helper#comment-10305)اقای نصیری:
- وجود anti forgery token (http://www.dotnettips.info/post/821/asp-net-mvc-17) جهت مقابله با جعل صفحه و درخواست است.
- امکان رمزنگاری خودکار فیلدهای مخفی (http://www.dotnettips.info/post/1828/%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D9%81%DB%8C%D9%84%D8%AF%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%81%DB%8C-%D8%AF%D8%B1-asp-net-mvc) وجود دارد.
- بررسیهای سمت سرور هم جای خودشان را دارند و لازم هستند.
این مسائل مربوط به امنیت هستش. سوالی که پرسیدید با این روش حل نمیشه.
در طراحی جدول مربوط به پست هاتون حتما در نظر گرفته شده که هر پست مربوط به کدوم کاربر هست. توی Actionای که برای Delete نوشتید باید چک کنید ID مورد نظر (پست مربوطه) متعلق به کاربر فعلی باشه، در غیر اینصورت پیغام خطا نمایش داده بشه.
alireza_rashvand
دوشنبه 13 مرداد 1393, 17:01 عصر
منظور ایشون از
- بررسیهای سمت سرور هم جای خودشان را دارند و لازم هستند
هم همین است که شما گفتید یعنی بررسی انجام بشه ...
ولی الان خودم موندم بهترین کار برای بدست اوردن ID کاربر جاری چیه? :) برای همین هم هنوز قسمت لاگین پروژم رو ننوشتم ,
hadi0x7c7
دوشنبه 13 مرداد 1393, 18:41 عصر
منظور ایشون از
- بررسیهای سمت سرور هم جای خودشان را دارند و لازم هستند
هم همین است که شما گفتید یعنی بررسی انجام بشه ...
ولی الان خودم موندم بهترین کار برای بدست اوردن ID کاربر جاری چیه? :) برای همین هم هنوز قسمت لاگین پروژم رو ننوشتم ,
Identity که خوب جواب میده برای لاگین و احراز هویت و ....
mohammadreza.najafipour
دوشنبه 13 مرداد 1393, 22:40 عصر
همونطور که دوستمون hadi0x7c7 گفتش از Identity استفاده کنی بهتره. مقالات خوبی هم میتونی در این مورد پیدا کنی.
معرفی ASP.Net Identity:
http://www.dotnettips.info/post/1630/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-asp-net-identity
یه نمونه برای دوستانی که از Membership استفاده می کردن و الان میخوان به Identity مهاجرت کنن:
http://www.dotnettips.info/post/1650/%D9%85%D9%87%D8%A7%D8%AC%D8%B1%D8%AA-%D8%A7%D8%B2-sql-membership-%D8%A8%D9%87-asp-net-identity
hadi0x7c7
سه شنبه 14 مرداد 1393, 10:58 صبح
همونطور که دوستمون hadi0x7c7 گفتش از Identity استفاده کنی بهتره. مقالات خوبی هم میتونی در این مورد پیدا کنی.
معرفی ASP.Net Identity:
http://www.dotnettips.info/post/1630/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-asp-net-identity
یه نمونه برای دوستانی که از Membership استفاده می کردن و الان میخوان به Identity مهاجرت کنن:
http://www.dotnettips.info/post/1650/%D9%85%D9%87%D8%A7%D8%AC%D8%B1%D8%AA-%D8%A7%D8%B2-sql-membership-%D8%A8%D9%87-asp-net-identity
علاوه بر اینا که دوستمون گفتن، http://dadehnegar.blog.ir/post/%D8%A7%D9%85%D9%88%D8%B2%D8%B4-ASP-NET-Identity این جا فکر کنم بهتر گفته باشه !
alireza_rashvand
سه شنبه 14 مرداد 1393, 12:38 عصر
سپاس از بزرگواران , لطف کردید
زمانی که MVC رو شروع کردم متوجه شدم از Membership استفاده می شه بعد دیدم درحال تغییره... برای همین دست نگه داشتم به نظرم باید مطالعه Identity2 شروع کنم, سپاس...
فقط یک سوال من از VB2012 استفاده می کنم , اگه اپدیت کنم برای Identity کافیه یا برم 2013 بگیرم ؟ 2014 VB هم اومده ؟
mohammadreza.najafipour
چهارشنبه 15 مرداد 1393, 07:45 صبح
سپاس از بزرگواران , لطف کردید
زمانی که MVC رو شروع کردم متوجه شدم از Membership استفاده می شه بعد دیدم درحال تغییره... برای همین دست نگه داشتم به نظرم باید مطالعه Identity2 شروع کنم, سپاس...
فقط یک سوال من از VB2012 استفاده می کنم , اگه اپدیت کنم برای Identity کافیه یا برم 2013 بگیرم ؟ 2014 VB هم اومده ؟
متاسفانه در این مورد اطلاعی ندارم :متفکر: من خودم از VS2013 استفاده می کنم و مشکلی ندارم. جستجو هم کردم مطلب خوبی پیدا نکردم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.