PDA

View Full Version : مقابله با sql injection



taze kar 1
جمعه 26 شهریور 1395, 00:15 صبح
سلام دوستان
چجوری میشه در وب سایت ASP.NET با sql injection مقابله کرد
مخصوصا در Login
خیلی برام مهمه

ghamgin
جمعه 26 شهریور 1395, 09:56 صبح
منم همین سوال رو دارم
:متفکر:

sadegh.te
جمعه 26 شهریور 1395, 15:36 عصر
از معماری سه لایه استفاده کنید و در دیتابیس کل ورود و خروج رو با پروسیجر انجام بدین
پروسیجر هیچگونه اینجکشنی رو نمیگیره.
و همچنین سرعت رو خیلی بالا میبره.
موفق باشید

hamid_0341
دوشنبه 29 شهریور 1395, 09:36 صبح
خود کلاس parameters توی SqlCommand اینجکشن رو چک میکنه.



SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@ID", yourid);

Mag-Mag
یک شنبه 11 مهر 1395, 12:31 عصر
ببین مهمترین مسئله چک کردن ورودی هاست
شما باید همه ی ورودی ها تو اعتبار سنجی کنی

مثلا اگر فیلدی مربوط به مثلا تلفن هست
قبل از ارسال این مقدار این فیلد برای query یا حتی storeProcedure باید مطمئن بشی که کاربر حتما مقدار عددی در این فیلد زده
هر کاراکتری غیر از عدد ، غیر مجازه و اصلا نباید به query ارسال بشه

در فیلد های متنی هم بهترین راه Replace کردن کاراکترهای مشکوک هست
مثلا ' (تک کوتیشن) رو قبل از ارسال ، با این رشته (مثلا &125) جایگزین کنی و بعد به query پاس بدی
موقع نمایش هم بر عکس این کار رو باید انجام بدی ، یعنی از دیتابیس که میخونی &125 رو با ' عوض میکنی

الی اخر برای همه وردی ها و همه ی کاراکترهای غیر مجاز
هر چقدر این کار رو با دقت بیشتری انجام بدی ، امنیت سایتت میره بالا

مقاله هم زیاد هست توی اینترنت ، فقط کافیه SQL Injection رو سرچ بزنی
در هر صورت راه های مختلفی برای این کار وجود داره

اما مطمئنا ، مهمترین مسئله و بالاترین لایه
باید چک کردن ورودی های ارسالی به دیتابیس باشه