• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
راه حل برای یک مشکل عجیب
#1
با سلام
در یک صفحه ما یک عدد کمبو باکس داریم که اطلاعات خود رو از دیتابیس میخونه و دو عدد button بنام های add و save
کاربر بعد از کلیک بر روی add نام انتخاب شده بصورت داینامیک توسط جاوا اسکریپت در یک تکس باکس نشون داده میشه
مانند عکس زیر

[عکس: 41zcbj982i0a9756wa05.jpg]
با کلیک بر روی save اطلاعات تمام تکس باکس ها بصورت json در آمده و به php جهت ذخیره در دیتابیس ارسال میشود.

تا اینجا مشکل نیست

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

[عکس: 2sgjnakwzust3a1q11ev.jpg]
برای چنین مشکلی چه راه حلی وجود دارد .
  پاسخ
تشکر شده توسط :
#2
قبل از هرچیز شما سعی کنید برای سوالاتتون از عنوان مناسب استفاده کنید!

--
بعله که کاربر می تونه هر نوع اطلاعاتی بفرسته
این یه نکته امنیتی بسیار مهمه که شما اصلا نباید به UI اعتماد کنید
برای غلبه بر این ریسک امنیتی شما بایست از یک لیست سفید (White List) استفاده کنید.
چنانچه داده های دریافت شده از لیست سفید شما خارج بود اون رو نپذیرید و عکس العمل (reaction) مناسب رو انجام بدید!
  پاسخ
تشکر شده توسط :
#3
خوب این لیست سفید رو چطوری ایجاد کنم و چطوری از اون استفاده کنم
  پاسخ
تشکر شده توسط :
#4
کد پی‌اچ‌پی:
$data json_decode($_POST['data'];);
$list = ['tehran''arak''yazd''esfehan'];
$fail false;

foreach(
$data as $datum)
{
    if( ! 
in_array($datum$list) )
        
$fail true;

  پاسخ
تشکر شده توسط :


پرش به انجمن:


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