আমি শুনেছি যে "প্রত্যেকে" এসকিউএল ইনজেকশন আক্রমণ থেকে রক্ষা করতে প্যারামিটারাইজড এসকিউএল কোয়েরিগুলি ব্যবহার করে প্রতিটি ব্যবহারকারীর ইনপুটকে ফাঁকি দিয়ে না ফেলে।
তুমি এটা কিভাবে করো? সঞ্চিত পদ্ধতি ব্যবহার করার সময় আপনি কী স্বয়ংক্রিয়ভাবে এটি পান?
সুতরাং আমার বুঝতে এটি অ-প্যারামিটারাইজড:
cmdText = String.Format("SELECT foo FROM bar WHERE baz = '{0}'", fuz)
এটি কি পরামিতি হবে?
cmdText = String.Format("EXEC foo_from_baz '{0}'", fuz)
অথবা এসকিউএল ইঞ্জেকশন থেকে নিজেকে বাঁচানোর জন্য আমার কি আরও কিছু আরও বেশি করে করা দরকার?
With command
.Parameters.Count = 1
.Parameters.Item(0).ParameterName = "@baz"
.Parameters.Item(0).Value = fuz
End With
সুরক্ষা বিবেচনা ছাড়াও প্যারামিটারাইজড কোয়েরিগুলি ব্যবহার করার আরও কী কী সুবিধা রয়েছে?
আপডেট: এই দুর্দান্ত নিবন্ধটি গ্রোটোকের একটি প্রশ্নের উল্লেখের সাথে যুক্ত ছিল। http://www.sommarskog.se/dynamic_sql.html