PDA

View Full Version : مبتدی: مقابله با sqlinjectio ها؟



minajasmi
جمعه 25 آذر 1390, 16:23 عصر
سلام دوستان من خیلی سرچ کردم ولی نتیجه خاصی نگرفتم چطور میتونم از خملات sql injection ها به سایتم جلوگیری کنم؟؟
تو تاپیک ها دیدم که گفته بودن باید از یه تابع استفاده کرد تا کاربر بعضی کاراکترها را وارد نکنه.اگر کسی از این تابع استفاده کرده بزاره برام ممنون

minajasmi
جمعه 25 آذر 1390, 22:04 عصر
دوستان کسی تابعی برای فیلتر کردن کاراکترهای ورودی داره ممنون میشم اگه بزارید تا من هم استفاده کنم.آیا روشی برای مقابله با sql injection ها هست؟؟
من حتی الامکان از reguler,expersion ها استفاده کردم.در دستورات پایگاه از پارامترها استفاده کردم.کدهای امنیتی گذاشتم.چکار دیگه میشه واسه امن شدن انجام داد(به خصوص در مقابل sql injection ها)

smm2006sh
جمعه 25 آذر 1390, 22:06 عصر
سلام دوست من
پست زیر را مطالعه کن به دردت میخوره
http://barnamenevis.org/showthread.php?309954-%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C%DB%8C-%DA%A9%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%A7%D9%85%DB%8C%D9%86-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C%D9%85%D8%A7%D9%86-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%B1%D8%B9%D8%A7%DB%8C%D8%AA-%DA%A9%D9%86%DB%8C%D9%85

minajasmi
جمعه 25 آذر 1390, 22:33 عصر
این تاپیک را قبلا خوندم تقریبا یسری از مطالب را انجام دادم تو سایتم بیشتر منظورم روی sql injection که چطور داده های ورودی را فیلتر کنم و کاراکترهای مخرب وارد نشه

aminghaderi
جمعه 25 آذر 1390, 23:07 عصر
یه گزینه ای در کار با ado.net هست به نام parameters با این گزینه اگر کار کنید ظاهرا احتمال خطر به 0 میل می کنه.
در کل شما باید راه ورود مستقیم کدهای اسکیوال رو به داخل command String خود قطع کنید.
یعنی اجازه select خارجی رو یا ندید یا اگر هم دادید خیلی با ملاحظه و حساب شده باشه ، اگر اجازه دادید اونوقت باید به فکر ساخت یه فیلتر سمت سرور باشید.

minajasmi
جمعه 25 آذر 1390, 23:21 عصر
از پارامتر ها استفاده کردم چطور باید کاریو که گفتید انجام بدم ممنون میشم بیشتر راهنمایی کنید

aminghaderi
جمعه 25 آذر 1390, 23:51 عصر
اگر از پارامتر ها استفاده کردید که خوب خوبه دیگه.
گفتم میزان حملات رو به میزان قابل توجه پایین اوردید ، حالا چون بنده در مقوله امنیت زیاد تخصص ندارم خودم رو در جایگاهی نمی بینم که بگم چقدر جلوی حملات رو به این صورت گرفتید ، ولی خوب یه استادی داشتم که هر جا هست خدا حفظش کنه که سمت اصلیش ADB بود و زمانیکه با ایشان در این زمینه بحث می کردم نظرش همین چیزی بود که گفتم ، حالا ایشون رو گفتم چون از ایشون توی بحث SQL با سواد تر و فنی تر ندیده بود و و اینکه به صورت قطعی نمی گم چون این موضوع مربوط به سال 87 می شود و تا الان احتمالا راه هایی دیگری هم به وجود آمده و هم من تخصص در این زمینه ندارم.

موفق باشید.

ferankyy
جمعه 25 آذر 1390, 23:57 عصر
استفاده از LINQ

rahmatr
شنبه 26 آذر 1390, 00:12 صبح
در کل شما باید راه ورود مستقیم کدهای اسکیوال رو به داخل command String خود قطع کنید.
دقیقا و چاره اش هم استفاده از parameters است.

برای اطلاعات بیشتر به مجله زیر مراجعه کن. توی یکی از شماره هاش کامل توضیح داده.
مجله آشیانه (http://magazine.ashiyane.org/)