• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چک کردن ورودی ها جهت جلوگیری از حملات رایج
#1
باسلام
دوستان من یک صفحه دارم که قبل از ارسال به سرور اطلاعات فیلدها رو جمع آوری و کلا به صورت یک متغییر json در میاورم و با Ajax اونو به سرور پاس میدم و در سرور توسط Json_decode() به آرایه تبدیل میکنم و بعد در دیتابیس ذخیره میکنم
میخواستم ببینم با این روشی که گفتم نیازی هست ورودی ها از نظر حملات Sql injection یا XSS یا csrf چک بشن یا نه ؟
این نکته هم بگم برای ذخیره در دیتابیس از pdo و prepare استفاده میکنم
اصلا چه زمانی باید ورودی ها از نظر حملات فوق چک بشن

ممنون میشم دوستان عزیز
  پاسخ
تشکر شده توسط :
#2
هر زمان میخواهی داده ای را در عمل پرس و جو دیتابیس (اضافه - حذف - بروزرسانی - واکشی) استفاده نمایید ابتدا از با استفاده از توایع موجود php ویا ساخت خود از نظر صحت برررسی نمایید
  پاسخ
تشکر شده توسط : kasbookar ayoubsys
#3
یه ایراد وجود دارد
وقتی ما یه متغیر json رو به سرور ارسال میکنیم فرمتی شبیه زیر داره

کد:
json={'name':'ali','family':'ahmadi','email':'a.ahmadi@yahoo.com'}


وقتی سمت سرور توسط کد زیر عمل میکنیم

کد:
htmlentities($json,ENT_QUOTES);

کلا فرمت بهم میریزه


کد:
{"name":"ali","family":"ahmadi","email":"a.ahmadi@yahoo.com"}
  پاسخ
تشکر شده توسط :
#4
سلام و وقت بخیر

در چنین موقعی میشه از تابع html_entity_decode کمک گرفت:

کد پی‌اچ‌پی:
echo html_entity_decode("{"name":"ali","family":"ahmadi","email":"a.ahmadi@yahoo.com"}"); 

شما با استفاده از htmlentities مقادیر رو در دیتابیس ذخیره کنین و موقع واکشی و استفاده از html_entity_decode کمک بگیرین و سپس از دستورات json ( و جداکردن مقادیر آن برای استفاده) استفاده کنین:

مثال :
کد پی‌اچ‌پی:
$iman html_entity_decode($row['userinfo']);
$iman json_decode($iman);
echo 
$iman->{"name"};
echo 
$iman->{"family"};
echo 
$iman->{"email"}; 

موفق باشید
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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