نگاهی به وب سرویس ها انداخته باشی ،پیاده سازی آن بصورت متد هایی هست که دادهای کاربر رو از طریق کلاس های تعریف شده در آن دریافت میکنند.اصولا دریافت کویری sql از وب سرویس اشتباه میباشد.شما وب سرویس رو به دو لایه برنامه نویسی Model و Service تقسیم کنید متدها و کلاس های لازم رو در سطح سرویس پیاده سازی کن که کاربر به آن دسترسی دارد.و لایه Model که دسترسی آن فقط از طریق لایه Service امکان پذیر است و کاربر امکان دسترسی مستقیم به متدهای آن را ندارد و و ظیفه دریافت اطلاعات از لایه سرویس و اعمال ان در دیتابیس هست.در لایه Model از Linq to Sql ویا Entityframework استفاده کنی ریسک Sql injection به پایین میاد.
در مورد توضیح:
public string RemoveSqlScript(string userInput)
{
if(userInput==null)return string.Empty;
return userInput.Replce("create","").Replce("delete",""). Replce("drop","");
}





پاسخ با نقل قول