• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چک کردن ورودی های مرتبط بهم
#1
سلام

دوستان بازم یک سوال

فرض کنید دوتا کمبو باکس دارید که یکی نام های استان ها و دیگری نام شهرستان های آن استان رو نشون میده و این دو کمبوباکس از طریق دو جدول مربوطه در پایگاه داده پر میشه

کاربر میاد در کمبوباکس استان تهران رو انتخاب میکنه و در کمبوباکس دوم شهرستانهای استان تهران لود میشه ، اینجا کاربر بجای انتخاب یکی از شهرستانهای موجود در لیست میاد و شیطونی میکنه و از طریق firebug مقدار یکی از آپش های کمبوباکس شهرستان رو مثلا به شیراز تغییر میده و آی دی اونم برابر آی دی شیراز ست میکنه و اونو انتخاب و فرم رو ارسال میکنه

در سمت سرور چطوری باید بررسی کنیم که مقدار شهرستان ارسالی برای استان ارسال شده است و کاربر اونو تغییر نداده ؟؟؟؟؟
  پاسخ
تشکر شده توسط :
#2
.سلام
خود استان رو هم ممکنه شیطنت کنه. پس استان رو هم چک کن. مثلا با فرض این که id استان 6 و شهرستان 5 باشه :
کد پی‌اچ‌پی:
select from city where id=and province_id=
اگه چیزی پیدا نکنه یعنی کاربر شیطنت کرده!
  پاسخ
تشکر شده توسط :
#3
حالا اگر تعدا فیلد های مرتبط زیاد باشه چی ؟؟؟


راه دیگه ای نیست ؟
  پاسخ
تشکر شده توسط :
#4
تقریبا همه چیز باید سمت سرور چک بشه که خارج از محدوده و منطق برنامه نباشه. طبق الگوهای دقیق!
یعنی بصورت پیشفرض باید تمام ورودیها رو چک کنید. فرض باید این باشه که یک نفر هکر یا خرابکار خفن میتونه هر جزء داده ای رو جعل یا دستکاری کرده باشه.
و تنها با دلیل کافی درمواردی شاید بشه از چک کردن صرفنظر کرد. مثلا یه جاهایی که واقعا مهم نیست و خطری برای خودمون نداره.

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

ضمنا میبینیم آگاهی و بینش امنیتی در ایران پیشرفت کرده Wink
یه زمانی بنده بحث میکردم اصلا تقریبا کسی نمیفهمید چی میگم!
حالا الان فایرباگ و این حرفا اومده و همه فهمیدن که دستکاری از سمت کلاینت چقدر آسونه، ولی اون زمان من مثلا با این فرض که کلاینت میتونه همه چیز رو دستکاری و جعل کنه صحبت میکردم، بعدا میفهمیدی که طرفها اصلا توی باغ نبودن منظورت رو نمیفهمیدن فکر میکردن تنها راه دسترسی به صفحات و برنامش همون مرورگری هست که خودشون دارن و اگر مرورگر کاری رو انجام نمیده به معنی اینه که دیگه هیچکس هیچ طوری نمیتونه انجام بده یا اینکه لزوما کار خیلی سختیه!
بعضیا اصلا نمیدونستن هکرها میتونن از روبات و برنامه های اختصاصی خودشون استفاده کنن.

راستی این فایرباگ قضیه اش چیه؟
چون توی فایرفاکس که همینطور پیشفرض هم نصب میکنی بدون نصب add-on و این حرفا هم خودش ابزارهای web developer رو داره که میتونی سورس صفحات رو دستکاری کنی و همچنین کارهای دیگه. جاییش هم اسم فایرباگ رو ندیدم اومده باشه. شاید قدیما طور دیگه بوده.
  پاسخ
تشکر شده توسط : ImanAzadi
#5
نقل قول:ضمنا میبینیم آگاهی و بینش امنیتی در ایران پیشرفت کرده Wink
یه زمانی بنده بحث میکردم اصلا تقریبا کسی نمیفهمید چی میگم!
حالا الان فایرباگ و این حرفا اومده و همه فهمیدن که دستکاری از سمت کلاینت چقدر آسونه، ولی اون زمان من مثلا با این فرض که کلاینت میتونه همه چیز رو دستکاری و جعل کنه صحبت میکردم، بعدا میفهمیدی که طرفها اصلا توی باغ نبودن منظورت رو نمیفهمیدن فکر میکردن تنها راه دسترسی به صفحات و برنامش همون مرورگری هست که خودشون دارن و اگر مرورگر کاری رو انجام نمیده به معنی اینه که دیگه هیچکس هیچ طوری نمیتونه انجام بده یا اینکه لزوما کار خیلی سختیه!
بعضیا اصلا نمیدونستن هکرها میتونن از روبات و برنامه های اختصاصی خودشون استفاده کنن.

راستی این فایرباگ قضیه اش چیه؟
چون توی فایرفاکس که همینطور پیشفرض هم نصب میکنی بدون نصب add-on و این حرفا هم خودش ابزارهای web developer رو داره که میتونی سورس صفحات رو دستکاری کنی و همچنین کارهای دیگه. جاییش هم اسم فایرباگ رو ندیدم اومده باشه. شاید قدیما طور دیگه بوده.

ممنون از شما

من تقریبا از وقتی برنامه نویسی رو شروع کردم چه تحت وب چه ویندوز ، رو بحث امنیت خیلی وقت گذاشتم شاید بشه گفت یک سایت کوچیک که میشد دو ماهه تمومش کرد من بخاطر وقت زیاد بابت امنیت تو 3 ماه تموم میکردم

الانم طبق فرمایشات شما روال بازم مثل گذشته هست و خیلی ها بازم نمیفهمن چی به چی هست Huh و اصلا بابت این قضیه وقت نمیزارن و فکر میکنن اگر یک کمبوباکس برای کاربر نشون داده میشه دیگه کاربر رو مجاب به انتخاب از همون لیست میکنه و کاربر محدود میشه در صورتیکه کاربر با چند تا کلیک ساده میتونه تمام محتوای اون کمبوباکس یا هر Input رو به راحتی تغییر داد حتی اگر یک input خاصیت require اون ست شده باشه به راحتی میشه اونو دور زد و خیلی چیزای دیگه
من یجورایی رو امنیت وسواسی دارم و اعتقاد دارم سایتی که طراحی میکنم تمام یوزرهاش هکر هستند و باید تمام موارد امنیتی رو رعایت کنم
من واسه تغییرات ناخواسته ورودی ها توسط کاربر خیلی وقت گذاشتم و سرچ زدم تو سایتهای خارجی از stackoverflow تا .... و خیلی منابع زبان اصلی رو خوندم چون هدفم از اون اول کدنویسی اصولی با حداقل حجم کد بوده ، حتی خیلی از روشهایی که شما فرمودید رو هم انجام دادم رمزنگاری های دوطرفه aes و ... بطور مثال id کمبوباکس رو در سمت سرور با salt رمزنگاری کرده و بعد از ارسال توسط کاربر ، سمت سرور دیکد کرده و مقایسه و مابقی داستان .... ولی بازم میشد از طرق مختلفی این روش رو هم در سمت کلاینت دور زد
به هر حال بحث امنیت خیلی بحث مهمی هست چون مهمترین قسمت یک سایت پایگاه داده اون سایت هست حالا اگر داده غیر واقعی یا مخرب داشته باشه فاجعه بحساب میاد


در مورد فایرباگ حق با شماست چون بعد از نصب نسخه معمولی بدون هیچ افزونه ایی فعال هست شاید نسخه هایی جدید اینطور باشه اطلاع دقیقی ندارم
تو گوگل کروم هم به راحتی میشه با راست کلیک و گزینه inspect فایر باگ رو اجرا کرد
  پاسخ
تشکر شده توسط : vejmad


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان